C++是否具有不使用vtable的接口的静态多态实现?

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不是从任何其他类继承的?

谢谢.吉尔.

whe*_*ies 7

是.它的名字来自CRTP.有一个雄鹅.