Re: Особенности наследования
От: frogkiller Россия  
Дата: 03.01.09 20:42
Оценка: 3 (1)
Здравствуйте, Kingofastellarwar, Вы писали:

K>Народ, как такое разруливать? Вроде ничего сверхестественного не делаю


У тебя IComponent два раза включается, надо использовать виртуальное наследование.
Типа такого:

K>
K>class IComponent
K>{
K>    virtual void    CommonMethod()=0;
K>};

K>class Component : public virtual IComponent
K>{
K>    void CommonMethod()
K>    {
K>        ...
K>    }
K>};

K>class IFrame : public virtual IComponent
K>{
K>    virtual void    SpecificMethod()=0;
K>};

K>class Frame : public Component, public IFrame
K>{
K>    void SpecificMethod()
K>    {
K>        ...
K>    }
K>};

K>
Курица — это инструмент, с помощью которого одно яйцо производит другие.