Имеет ли C ++ правильную реализацию интерфейса, который не использует vtable?
, например
class BaseInterface{
public:
virtual void func() const = 0;
}
class BaseInterfaceImpl:public BaseInterface{
public:
void func(){ std::cout<<"called."<<endl; }
}
BaseInterface* obj = new BaseInterfaceImpl();
obj->func();
вызов func в последней строке переходит к vtable для поиска func ptrBaseInterfaceImpl :: func, но есть ли C ++ способ сделать это напрямую, так как BaseInterfaceImpl не разделен на подклассы из какого-либо другого класса, кроме чисто интерфейсного класса BaseInterface?
Спасибо.Gil.