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

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

Войти
Регистрация
Восстановить пароль
 
WennY
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 131
#1

Доступ из вложенного класса к членам "родителя" - C++

26.03.2013, 18:13. Просмотров 618. Ответов 5
Метки нет (Все метки)

Доброго времени суток. Есть такой класс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class XML
{
    protected:
        int root;
 
    public:
        class reader
        {
            public:
                void read();
        };
 
        XML()
        {
            root = 1;
        }
};
 
void XML::reader::read()
{
    //root;
}
Вопрос: как из метода read дорваться до переменной XML::root (желательно без статики)? Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2013, 18:13     Доступ из вложенного класса к членам "родителя"
Посмотрите здесь:

Как вызвать метод "верхнего" из вложенного класса - C++
class Fraction{ friend class Calk; long int a; unsigned short int b; public: void Read( Fraction &a, Fraction &b, int...

Доступ к членам класса - C++
Есть два класса: #include "stdafx.h" #include <iostream> using namespace std; class CPerson { /*закрытые члены*/ private:...

Доступ к членам класса - C++
Объект класса не может получить доступ к своим переменным?

Доступ к private членам класса - C++
Почему при таком объявлении не работает оператор вывода, по идее он же объявлен как друг класса и должен иметь доступ к членам этого...

Доступ к закрытым членам базового класса - C++
помогите понять что я не так сделал ? #include <iostream> using namespace std; class A { int PrA1; public: int...

Доступ к закрытым членам класса(шаблона) - C++
Вопрос почему компилятор выдает ошибку в функции main? Ситуация следующая имеется шаблон (класс) элемента списка, реализован шаблон (класс)...

Доступ к членам одного класса с другого - C++
Есть три файла: A.cpp: #include "B.cpp" class AA { int A; public: AA(int a) { A = a;

"Двойной" доступ к переменным класса - C++
Господа, прошу совета в изложенной ниже ситуации. Часто мне встречается в различных вариациях, поэтому есть потребность в изящном решении....

Как получить доступ к членам класса из функций - C++
Есть код типа //***************************************************************************** func1() { body; } func2() ...

Бинарное дерево подклассов основного класса-узла. Доступ к подклассам по указателю - объекту класса-родителя - C++
Короче, необходимо сделать бинарное дерево, решающее арифметическое выражение, предварительно туда записанное. Есть основной класс...

Доступ к членам класса класса - C++
Всем привет. Вобщем есть базовый класс, и два производных. Пользователь вводит координаты нужно проверить факт пересечения одной фигуры с...

Объяснить что такое "раздельная компиляция", что такое "интерфейс класса" и "реализация класса" на примере - C++
Есть класс, содержащий объекты и конструктор. Конструктор объявляется в одном из cpp файлов(их несколько). Можно ли, как-то, использовать...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Форумчанин
Эксперт С++
4479 / 2841 / 227
Регистрация: 12.12.2009
Сообщений: 7,224
Записей в блоге: 1
Завершенные тесты: 1
26.03.2013, 18:23     Доступ из вложенного класса к членам "родителя" #2
Никак! Разве что сделать такой костыль
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class XML
{
    protected:
        int root;
 
    public:
        class reader;
        friend class reader;
        class reader
        {
            public:
                reader (XML &xml) : xml_(xml) {}
                void read() {/* теперь можно делать так */ int root = xml_.root;}
             private:
                 XML &xml_;
        };
 
        XML()
        {
            root = 1;
        }
};
WennY
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 131
26.03.2013, 18:36  [ТС]     Доступ из вложенного класса к членам "родителя" #3
Жесть. А можно вложенный класс унаследовать от основного?
Kastaneda
Форумчанин
Эксперт С++
4479 / 2841 / 227
Регистрация: 12.12.2009
Сообщений: 7,224
Записей в блоге: 1
Завершенные тесты: 1
26.03.2013, 18:40     Доступ из вложенного класса к членам "родителя" #4
Цитата Сообщение от WennY Посмотреть сообщение
А можно вложенный класс унаследовать от основного?
Нет, но если бы было можно, то это была бы еще бОльшая жесть, что то, что я показал
WennY
0 / 0 / 0
Регистрация: 01.11.2010
Сообщений: 131
26.03.2013, 18:53  [ТС]     Доступ из вложенного класса к членам "родителя" #5
На кой вообще тогда эти вложенные, просто по приколу чисто разве что..
Kastaneda
Форумчанин
Эксперт С++
4479 / 2841 / 227
Регистрация: 12.12.2009
Сообщений: 7,224
Записей в блоге: 1
Завершенные тесты: 1
26.03.2013, 19:41     Доступ из вложенного класса к членам "родителя" #6
Цитата Сообщение от WennY Посмотреть сообщение
На кой вообще тогда эти вложенные, просто по приколу чисто разве что..
Ну почему, это бывает полезно. Например класс может иметь в качестве члена объект вложенного класса.
В списке обычно так делают
C++
1
2
3
4
5
6
7
8
9
10
11
12
template <class T>
class List
{
private:
    struct Node
    {
        T val;
        Node *next;
    };
     
    Node node;
};
Yandex
Объявления
26.03.2013, 19:41     Доступ из вложенного класса к членам "родителя"
Ответ Создать тему
Опции темы

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