不挂科搜题免费

问题:

为什么析构函数总是要求说明为虚函数?

答案:

答:在基类中及其派生类中都动态分配内存空间时,必须把析构函数定义为虚函数,实现撤消对象时的多态性。根据赋值兼容规则可以用基类的指针指向派生类对象,如果由该指针撤销派生类对象,未将析构函数说明为虚函数,则会调用基类的析构函数,使对象释放不完全。因此必须将析构函数说明为虚函数,实现多态性,自动调用派生类析构函数,使得所定义的派生类对象得到完全的释放。