6 / 6 / 2
Регистрация: 06.01.2015
Сообщений: 180
1

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

18.11.2015, 10:22. Показов 1110. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть следующий код
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();
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2015, 10:22
Ответы с готовыми решениями:

Доступ к объекту базового класса при закрытом наследовании
Есть класс Pair из стандартной библиотеки. Он у меня содержит 2 массива valarray. От класса Pair я...

Доступ к открытым методам базового класса при частном наследовании
Всем, привет, возникла проблема. Есть классы 1-&gt;2-&gt;3. Класс 2 явл наследником 1, а 3 класс является...

Почему при множественном наследовании в производном классе оказывется несколько экземпляров общего базового класса
Я не очень хорошо знаю плюсы, но я разбираюсь. Учусь, и мне хотелось бы иногда получать ответы на...

Почему при наследовании метода из базового класса получаются одинаковые значения?
столкнулся с такой проблемой. Есть два класса: Player и Dealer, оба наследуют от класса Hand,...

2
2273 / 1764 / 741
Регистрация: 27.07.2012
Сообщений: 5,241
18.11.2015, 10:26 2
Сделай наследование открытым:
C++
1
class Derived : public Base
1
202 / 138 / 88
Регистрация: 21.12.2014
Сообщений: 369
18.11.2015, 10:27 3
Сделай метод get в base для x.
1
18.11.2015, 10:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2015, 10:27
Помогаю со студенческими работами здесь

DataMember: При наследовании от абстрактного класса передаются только поля базового типа
При наследовании от абстрактного класса передаются только поля базового типа, а не наследника. Код:...

Получить доступ из класса к переменной при наследовании
using System; class a { public int x = 90; } class b : a { public int x = 110; ...

Доступ к protected членам базового класса
Здравствуйте, форумчане! Ниже приведенный код при компиляции вызывает следующую ошибку: error...

Доступ к параметрам и функциям базового класса
Собственно вот код: class okno : public zakaz { public: xy razmer; vector &lt;xy&gt; paket;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru