Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
lanakramoleb
1 / 1 / 2
Регистрация: 18.09.2012
Сообщений: 32
#1

Концептуальная задача по ООП (виртуальное наследование в C++) - C++

06.12.2013, 15:06. Просмотров 1165. Ответов 20
Метки нет (Все метки)

Добрый день.

Есть базовый класс A.
От него наследуется B : public A.
От B виртуально наследуется C : public virtual B.
Далее D : public C. В C есть множество реализованных методов, которые нужны в D.

Однако конструктор для D нужно наследовать от B, потому-то C от B наследуется виртуально.
Метод method определён в классе B и переопределён для класса D.

В коде есть момент:
if(...)
(B *)&A->method;
else
(D *)&A->method;
<<< Вот это не работает.

Я понимаю почему так нельзя.
Вопрос в том, как выйти из положения.
http://www.cyberforum.ru/cpp-beginners/thread841286.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 15:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Концептуальная задача по ООП (виртуальное наследование в C++) (C++):

Виртуальное наследование
Здравствуйте, объясните как реализовано(внутри)под капотом виртуальное...

Виртуальное наследование
Вопрос возник. Собственно, теоретически для чего используется виртуальное...

Виртуальное наследование
В данном коде возникает проблема при создании класса Man_Warrior,а именно при...

Виртуальное наследование
Образно говоря: Class A { private: ... public: virtual void f() {...} } ...

Виртуальное наследование и полиморфизм
Читая книгу столкнулся с такой типа такой, что полиморфизм это механизм в...

20
lanakramoleb
1 / 1 / 2
Регистрация: 18.09.2012
Сообщений: 32
06.12.2013, 17:30  [ТС] #21
Спасибо. Да, должно помочь.
Но уже в понедельник...
0
06.12.2013, 17:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2013, 17:30
Привет! Вот еще темы с решениями:

Не могу понять виртуальное наследование
Непонятны несколько моментов. Как строятся таблицы виртуальных классов? Есть...

Виртуальное наследование (указатель на базовый класс)
У меня ромбическая иерархия классов, при попытке вызвать метод производного...

Может ли виртуальное наследование быть одиночным?
виртуальное наследование это множественное наследование, при котором нескольким...

Для чего нужны виртуальные функции и виртуальное наследование ?
Для чего нужны виртуальные функции и виртуальное наследование ? Я нашел не...


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

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

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