Здравствуйте, 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();