Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
septe-mber
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 123
#1

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

06.09.2013, 23:52. Просмотров 341. Ответов 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 инициализирована
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2013, 23:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос вложенный класс (C++):

Может ли объемлющий класс иметь неограниченный доступ к элементам вложенного класса? А вложенный класс — к элементам объемлющего? - C++
Ответ как бы знаю(нет , да). но наверное я что-то не так понимаю, т.к. примерчик написать не получается. class BaseClass { ...

Вложенный класс - C++
class zer { class ins { static const string st; public: static void showIns(){ cout&lt;&lt;endl&lt;&lt;st; } }; static const string...

вложенный класс - C++
Какие проблемы могут возникнуть в следующем объявлении вложенного класса? class Ribs { private: class Sauce { int soy; ...

шаблонный вложенный класс в .cpp - C++
Привет всем! есть шаблонный вложенный класс . template&lt;typename FinalVertex&gt; class BFSVisitor : boost::default_bfs_visitor { ...

Вложенный (внутренний) класс (inner class) - C++
Почему возникает ошибка? #include &lt;iostream&gt; using namespace std; class A { class B{ public: int r;

Вложенный шаблонный класс(разделение на файлы) - C++
Есть шаблонный класс для примера A&lt;T&gt; , в него вложен класс B&lt;T&gt; template&lt;class T&gt; class A { public: template&lt;class T&gt; ...

1
MrCold
856 / 754 / 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;
};
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2013, 23:57
Привет! Вот еще темы с ответами:

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

Как дополнить вложенный класс при наследовании внешнего? - C++
Допустим, есть класс B, лежащий в классе A. Каким образом класс D, лежащий в C (C наследует A), может наследовать класс B и изменить его?

есть вложенный класс который является другом объемлюющего и всё это должно компилиться. - C++
Сперва логика: Есть класс matrix. И есть класс diagonal; так я поразмыслил и пришёл к выводу, что объект diagonal в отрыве от объекта...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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