Здравствуйте, timai, Вы писали:
T>Компилятор ругается — якобы pure virtual function was not defined.
T>Не подскажете как это можно обойти?
Например так:
struct CObject: CBase, IObject
{
void Rlease() { CBase::Release(); }
};
T>Или как-нибудь другие решения...
Если же CBase реализует какой то базовый интерфейс, например IUnknown, как в COM. Тогда можно сделать CBase шаблонным:
template<class Interface>
struct CBase: Interface
{
void Release() { /*...*/ }
};
Соответственно:
struct CObject: CBase<IObject> {};