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

Доступ к переменным базового класса при наследовании - C++

Восстановить пароль Регистрация
 
Apparat_UA
5 / 5 / 2
Регистрация: 06.01.2015
Сообщений: 114
18.11.2015, 10:22     Доступ к переменным базового класса при наследовании #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
class Base
{
protected:
int x;
Base* enemy;
 
public:
Base() {}
~Base() {}
void set_enemy(Base * x) { enemy = x;}
virtual void func() = 0;
};
class Derived : protected Base
{
public:
Derived() {}
~Derived() {}
void func() { cout << enemy->x;} // дебаггер пишет что нет доступа к переменной x
};
 
int main()
{
Base* Object1 = new Derived();
Base* Object2 = new Derived();
Object1->set_enemy(Object2);
Object2->set_enemy(Object1);
Object1->func();
}
Ошибка с функцией void func();
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2015, 10:22     Доступ к переменным базового класса при наследовании
Посмотрите здесь:

C++ Доступ к переменным класса
Доступ к объекту базового класса при закрытом наследовании C++
C++ Доступ к закрытым членам базового класса
C++ Ошибка при наследовании класса
C++ Ошибки при наследовании класса
C++ Наследование классов. Доступ к данным базового класса
Деструкторы при наследовании от абстрактного класса C++
C++ Доступ к параметрам и функциям базового класса

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
18.11.2015, 10:26     Доступ к переменным базового класса при наследовании #2
Сделай наследование открытым:
C++
1
class Derived : public Base
Redzep
170 / 106 / 42
Регистрация: 21.12.2014
Сообщений: 312
18.11.2015, 10:27     Доступ к переменным базового класса при наследовании #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Сделай метод get в base для x.
Yandex
Объявления
18.11.2015, 10:27     Доступ к переменным базового класса при наследовании
Ответ Создать тему
Опции темы

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