【发布时间】:2011-09-10 11:24:37
【问题描述】:
除了拥有纯虚函数之外,有没有办法防止抽象基类的实例化?
我可以这样做:
class BaseFoo
{
virtual void blah() = 0;
};
class Foo : public BaseFoo
{
virtual void blah() {}
};
但我想避免使用 vtable。 (根据my other question about virtual destructors)
Microsoft ATL 具有 ATL_NO_VTABLE 来完成此任务(或者至少我认为它就是这样做的......)
【问题讨论】:
-
为什么要避免使用 vtable? (而且,如果您永远不会使用该方法是虚拟的这一事实,那么您为什么还要为基类烦恼?)\