Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
0 / 0 / 1
Регистрация: 01.11.2010
Сообщений: 131

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

26.03.2013, 18:13. Показов 4901. Ответов 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 (желательно без статики)? Спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.03.2013, 18:13
Ответы с готовыми решениями:

Будет доступ, из вложенного класса, к членам включающего класса по this?
Не вызовет ли какую-нибудь ошибку в C++11 и же с ним код: class SOME { public: BYTE x; stuct Z { void fnct(); }...

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

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

5
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
26.03.2013, 18:23
Никак! Разве что сделать такой костыль
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;
        }
};
0
0 / 0 / 1
Регистрация: 01.11.2010
Сообщений: 131
26.03.2013, 18:36  [ТС]
Жесть. А можно вложенный класс унаследовать от основного?
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
26.03.2013, 18:40
Цитата Сообщение от WennY Посмотреть сообщение
А можно вложенный класс унаследовать от основного?
Нет, но если бы было можно, то это была бы еще бОльшая жесть, что то, что я показал
0
0 / 0 / 1
Регистрация: 01.11.2010
Сообщений: 131
26.03.2013, 18:53  [ТС]
На кой вообще тогда эти вложенные, просто по приколу чисто разве что..
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
26.03.2013, 19:41
Цитата Сообщение от 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;
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.03.2013, 19:41
Помогаю со студенческими работами здесь

Доступ к защищенным членам класса
Срочно!! помогите пожалуйста Что не правильно : class my { int i; public: ………. }; int main() {

Доступ к приватным членам класса
Хочу я иметь доступ к приватному члену класса. Зачем это надо - за рамками данной темы и не обсуждается. Вот упрощенный код класса: ...

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

Доступ к закрытым членам класса
Собственно вопрос такой. В каком случае лучше использовать доступ к закрытым членам класса через свойства, а в каком через методы?

Доступ к статическим членам вставляемого <.> класса T
Есть некий универсальный класс public class MeshStd&lt;T&gt; { List&lt;T&gt; vertices = new List&lt;T&gt;(); public...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru