虚拟构造器

Diw*_*kar 3 virtual constructor scenarios

是否需要虚拟构造器?如果是这样,任何人都可以发布一个场景

Mar*_*ram 8

如果你在谈论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
Run Code Online (Sandbox Code Playgroud)

编辑:不知道为什么我有一个downvote为此(如果你发表评论会很有帮助......)但是也在这里阅读

http://blogs.msdn.com/oldnewthing/archive/2004/05/07/127826.aspx