gil*_*rtc 6 c++ interface vtable static-polymorphism
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();
Run Code Online (Sandbox Code Playgroud)
在最后一行调用func到vtable来查找BaseInterfaceImpl :: func的func ptr,但是有没有C++方法直接这样做,因为除了纯接口类BaseInterface之外,BaseInterfaceImpl不是从任何其他类继承的?
谢谢.吉尔.