为什么有时候需要把析构函数定义为虚函数

为什么有时候需要把析构函数定义为虚函数

    析构函数的作用是在对象撤销之前做必要的清理现场的工作,当派生类的对象从内存中撤销时一般先调用派生类的析构函数,然后在调用基类的析构函数,但是用new运算符建立了一个派生类对象,并且把他赋给基类指针,那么当用delete运算符撤销这个指针指向的存储空间的时候,系统会只执行基类的析构函数,而不执行派生类的析构函数。只有把析构函数定义为虚函数,那么,当delete这个指针指向的存储空间的时候,才会调用派生类的析构函数,

posted @ 2015-08-13 10:51  cumtchw  阅读(302)  评论(0编辑  收藏  举报