Re: Особенности наследования
От: NLyapin Россия https://architecture-cleaning.ru/
Дата: 11.01.09 07:31
Оценка:
Здравствуйте, Kingofastellarwar, Вы писали:

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


Про виртуальные функции написали уже. Однако при простом совпадении имен функций:

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

class Component
{
public:
    void CommonMethod()
    {
        cout<<"Component::CommonMethod()"<<endl;
    }
};

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

class Frame : public Component, public IFrame
{
public:    
    void CommonMethod();
    void SpecificMethod()
    {
        cout<<"Frame::SpecificMethod()"<<endl;
    }
};

void Frame::CommonMethod()
{
    cout<<"Frame::CommonMethod()"<<endl;
}


Используем:

    Frame frm;
    frm.CommonMethod();
    frm.Component::CommonMethod();
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.