Форум программистов, компьютерный форум CyberForum.ru

определить головной класс - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Matlabist
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 98
06.02.2011, 19:03     определить головной класс #1
Как сослаться в классе B на класс A?
Пишет
IntelliSense: нестатическая ссылка не член должна указываться относительно заданного объекта
Как обойти?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class A
{
               int x;
    class B
    {
           void calc()
        {
            A.x=2;
        };
    };
    A()
    {
        b=new B();
    };
    B* b;
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2011, 19:03     определить головной класс
Посмотрите здесь:

Определить класс «СОБАКА» C++
C++ Определить класс-строку
Определить пользовательский класс. C++
Наследование: Определить класс vector2 как вектор на плоскости. Определить для него операции и функции C++
C++ Создать класс Triad (тройка чисел) - определить методы; определить производный класс Date - переопределить методы
C++ Определить класс химический элемент, содержащий информацию о названии элемента его химических свойствах. Определить класс медикаменты, содержащий разн
C++ Как подключить головной и ресурсный файлы к основной программе
C++ Определить класс стек

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
no0ker
100 / 87 / 4
Регистрация: 17.12.2010
Сообщений: 416
06.02.2011, 20:05     определить головной класс #2
честно говоря, не очень понимаю зачем такое может потребоваться, но может быть вот так.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
 
class A
{
    public :
    int x;
 
    class B
    {
        public:
        void calc(A* a)
        {
            a->x=2;
        };
    };
 
 
    A(){
        b=new B();
    };
 
    B* b;
};
 
 
int main(){
    A t;
    t.b->calc(&t);
    std::cout << t.x;
}
Добавлено через 42 минуты
еще вариант быдлокодинга

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
 
class A
{
    public :
    int x;
 
    class B
    {
        public:
        A* parent;
 
        B(A* p){
            parent = p;
        }
 
        void calc()
        {
            parent->x=2;
        }
    };
 
    A(){
        b=new B(this);
    }
 
    B* b;
};
 
 
int main(){
    A* te;
    te = new A;
 
    te->b->calc();
    std::cout << te->x;
}
Yandex
Объявления
06.02.2011, 20:05     определить головной класс
Ответ Создать тему
Опции темы

Текущее время: 09:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru