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

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

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

Может ли метод родительского класса обратиться к полю дочернего класса - C++

22.06.2015, 19:35. Просмотров 322. Ответов 1
Метки нет (Все метки)

Может ли метод родительского класса обратиться к полю дочернего класса?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2015, 19:35     Может ли метод родительского класса обратиться к полю дочернего класса
Посмотрите здесь:
C++ Как вызвать виртуальную функцию из дочернего класса, если она определена и вызывается в конструкторе РОДИТЕЛЬСКОГО класса?
Почему дружественная функция не может обратиться к protected полю класса? C++
внук родительского класса не может работать с полями дедовского класса; почему? C++
ООП в C++: Вызов родительского конструктора с параметром при создании объекта дочернего класса C++
C++ Может ли метод класса возвращать экземпляр этого же класса?
C++ Почему в списке инициализации конструктора дочернего класса нельзя вызывать конструктор родительского через его пространство имён?
C++ Как вызвать метод родительского класса;
Инициализация членов дочернего класса членами класса родителя C++
Задачка для новичков #2: вывести в методе класса-родителя значение данных-членов из дочернего класса C++
C++ Как полю класса А обратится к приватной функции класса А?
C++ Не удается обратиться к свойству класса из метода класса
C++ Член класса управляемый не может относиться к типу класса неуправляемый

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,184
Завершенные тесты: 1
22.06.2015, 19:40     Может ли метод родительского класса обратиться к полю дочернего класса #2
А откуда родительский класс знает, что дополнительно имеется в дочернем классе?
Он что, экстрасенс и может знать, кто и что добавит в дочерний класс.

Программа может используя указатель на базовый класс обращаться к данным дочернего класса.
Для этого имеется приведение типа dynamic_cast<>
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class A
{
public:
   int ka;
};
class B:public A
{
public:
int kb;
};
...
A a;
B b;
A *pa;
pa=&a;
pa->ka=1;
pa=&b;
dynamic_cast<B*>(pa)->kb=1;
Ответ Создать тему
Опции темы

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