是否需要虚拟构造器?如果是这样,任何人都可以发布一个场景
如果你在谈论C++中的虚拟析构函数(没有虚拟构造函数这样的东西),那么如果你以多态方式使用你的子类,它们应该总是被使用.
class A { ~A(); } class B : public A { ~B(); } A* pB = new B(); delete pB; // NOTE: WILL NOT CALL B's destructor class A { virtual ~A(); } class B : public A { virtual ~B(); } A* pB = new B(); delete pB; // NOTE: WILL CALL B's destructor
编辑:不知道为什么我有一个downvote为此(如果你发表评论会很有帮助......)但是也在这里阅读
http://blogs.msdn.com/oldnewthing/archive/2004/05/07/127826.aspx