• 应该为多态基类声明虚析构器。一旦一个类包含虚函数,它就应该包含一个虚析构器。
  • 如果一个类不用作基类或者不需具有多态性,便不应该为它声明虚析构器。

这样做是为了当用一个基类的指针删除一个派生类的对象时,派生类的析构函数会被调用

在类的继承中,如果有基类指针指向派生类,那么用基类指针delete时,如果不定义成虚函数,派生类中派生的那部分无法析构。