Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Наследник от множественного наследования


Автор: null56 1.10.2009, 18:46
Доброе время суток.
Вопрос задаю видимо потому что не до конца понимаю эту возможность языка с++, поэтому решил поинтересноваться
user posted image
1) У меня есть класс D, который наследует классы А,B,C.
2) Есть класс Е, который наследуется от D.
3) В программе создается только экземпляр класса E

Вопрос: почему я имею в памяти по две копии классов A, B, C?
Заранее благодарен за помощь

Добавлено через 1 минуту и 25 секунд
добавлю, что объект класса E создается глобально через директиву extern
я так понял, виртуальное наследование в моём случае не поможет...

Автор: GoldFinch 1.10.2009, 18:51
напиши код, воспроизводящий этот эффект
лучше на codepad.org

Автор: zim22 1.10.2009, 18:52
Цитата(null56 @  1.10.2009,  18:46 Найти цитируемый пост)
почему я имею в памяти по две копии классов A, B, C?

странно... можно код?

Автор: mes 1.10.2009, 19:20
Цитата(null56 @  1.10.2009,  17:46 Найти цитируемый пост)
что объект класса E создается глобально через директиву extern

через extern ничего не создается..

Автор: null56 1.10.2009, 19:51
Нет... тут надо рыть  проект... я набил элементарный пример... всё нормально, все базовые классы создаются в единственных экземплярах.. после запуска приложения, что - то присходит и конструкторы этих базовых объектов вызываются где - то еще... уже после запуска работы суперкласса... 
проект не мой, буду рыть (

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)