虚析构函数是为了解决这样的一个问题:基类的指针指向派生类对象,并用基类的指针删除派生类对象。
http://wenku.baidu.com/view/d3b583bdf121dd36a32d8296.html
里面有详细说明!
虚析构函数是为了解决,派生类析构时,析构基类的一种机制
析构函数只有一个,例如
class A
{
~A(){}
}
class B:public A
{
~B(){}
}
B cB;
A* pA =(A*)&cB
当delete pA的时候如果不是虚函数的话,析构就会有问题
可以在派生类中重定义析构函数