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 以查找 BaseInterfaceImpl::func 的 func ptr,但是是否有任何 C++ 方法可以直接执行此操作,因为除了纯接口类 BaseInterface 之外,BaseInterfaceImpl 不是任何其他类的子类?
谢谢。吉尔。