除了有一個純虛函數,是否有辦法阻止抽象基類的實例化?C++:防止抽象基類的任何實例化的方法?
我可以這樣做:
class BaseFoo
{
virtual void blah() = 0;
};
class Foo : public BaseFoo
{
virtual void blah() {}
};
,但我想避免一個虛函數表。 (每my other question about virtual destructors爲)
微軟ATL有ATL_NO_VTABLE做到這一點(或至少我認爲這是它做什麼...)
爲什麼你想避免一個虛擬表? (而且,如果你永遠不會使用這個方法是虛擬的,那麼你爲什麼還要爲基類困擾?)\ – 2011-06-08 01:26:33