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

вложенный класс - C++

Восстановить пароль Регистрация
 
septe-mber
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 123
06.09.2013, 23:52     вложенный класс #1
Привет всем! создал класс и в этом классе создал еще класс... и я хочу использовать члены внешнего класса во внутреннем классе...
такое возможно ?
пробывал так ... вылетает ошибка...
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
38
class A
{
public:
    A() = default;
    void fun1()
    {
        b.qwer();;
    }
    int fun2()
    {
        return tmp_a;
    }
 
private:
    int tmp_a;
 
 
    class B
    {
    public:
        B() = default;
 
        int tmp_b = 55;
        void qwer()
        {
            cout<<tmp_b<<"\t"<<endl;
            cout<<tmp_b<<"\t"<<A::tmp_a; //Error
        }
    };
    B b;
};
 
int main()
{
    A a;
    a.fun1();
    return 0;
}
Добавлено через 18 минут
кстати, забыл, переменная tmp_a инициализирована
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2013, 23:52     вложенный класс
Посмотрите здесь:

Может ли объемлющий класс иметь неограниченный доступ к элементам вложенного класса? А вложенный класс — к элементам объемлющего? C++
C++ есть вложенный класс который является другом объемлюющего и всё это должно компилиться.
C++ Вложенный шаблонный класс(разделение на файлы)
вложенный класс C++
C++ Вложенный класс
шаблонный вложенный класс в .cpp C++
Вложенный (внутренний) класс (inner class) C++
C++ Шаблон, вложенный в него класс и оператор вывода

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
06.09.2013, 23:57     вложенный класс #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
class A
{
public:
    
    void fun1()
    {
        b.qwer(tmp_a);
    }
private:
    int tmp_a;
 
 
    class B
    {
    public:
      
        void qwer(int tmpA)
        {
            cout<<tmp_b<<"\t"<<endl;
            cout<<tmp_b<<"\t"<<tmpA; 
        }
    };
    B b;
};
Yandex
Объявления
06.09.2013, 23:57     вложенный класс
Ответ Создать тему
Опции темы

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