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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Matlabist
2 / 2 / 0
Регистрация: 28.11.2010
Сообщений: 102
#1

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

06.02.2011, 19:03. Просмотров 1150. Ответов 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++
Определить класс химический элемент, содержащий информацию о названии элемента его химических свойствах. Определить класс медикаменты,...

Создать класс Triad (тройка чисел) - определить методы; определить производный класс Date - переопределить методы - C++
Создать класс Triad (тройка чисел); определить методы увеличения полей на 1. Определить производный класс Date с полями: год, месяц и день....

Как подключить головной и ресурсный файлы к основной программе - C++
Ребята, есть код на win32 api, нужно подключить его как файл ресурсов к проекту в с++ windows application. Как это сделать, объясните...

Создать класс "Шар", заданный радиусом, и определить производный класс "Окружность" - C++
Создать класс шар, заданный радиусом. Определить производный класс окружности. Предусмотреть виртуальную функцию для вычисления площади...

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени? - C++
На самом деле ничё фантастического я не прошу, ведь: template <class T> class matrix { friend class diagonal; ...

Определить класс-строку - C++
Здравствуйте. Объясните пожалуйста как сделать это задание? Определить класс-строку. В класс включить два конструктора: для...

Определить класс стек - C++
Определить класс стек. В класс включить два конструктора для определе-ния стека по его размеру и путем копирования другого стека. ...

Определить класс-строку - C++
Помогите пожалуйста, написать прогу. Определить класс-строку. В класс включить два конструктора: для опре-деления класса строки строкой...

Определить пользовательский класс. - C++
Доброго времени суток, зашел в тупик в лабораторной) вот задание: Определить пользовательский класс СТРАНА, имеющий: название...

Определить класс Vector - C++
Не могу понять оформление класса вектора. Перечитала лекцию, погуглила - инфы стало слишком много и я запуталась; все равно не могу...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
no0ker
101 / 88 / 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;
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru