bilibili 声明一个基类BaseClass,从它派生出类DerivedClass,在BaseClass中声明虚析构函数,在主函数中?

声明一个基类BaseClass,从它派生出类DerivedClass,在BaseClass中声明虚析构函数,在主函数中?首先,你的表达有点偏颇。您想问的是“当存在父子继承关系时,为什么要将父类的析构函

声明一个基类BaseClass,从它派生出类DerivedClass,在BaseClass中声明虚析构函数,在主函数中?

首先,你的表达有点偏颇。您想问的是“当存在父子继承关系时,为什么要将父类的析构函数定义为虚拟函数?”如果你不明白我为什么要这样修改你的问题,你可能需要理解类和对象之间的关系。假设有父类和子类,父类继承父类,则可以编写这样的代码:父类*f=new Sondelete f此时,如果父类的析构函数不是虚的,则删除f时会调用父类的父类析构函数,即父类的析构函数,父类的析构函数必须是虚函数