C++中,若有继承关系,基类的析构函数必须是虚函数
时间: 2023-07-23 12:00:19 浏览: 107
浅谈C++基类的析构函数为虚函数
是的,当基类的析构函数不被声明为虚函数时,如果通过一个基类指针删除一个派生类对象,只会调用基类的析构函数,而不会调用派生类的析构函数。这可能导致派生类资源没有得到正确释放,造成内存泄漏或未定义行为。为了确保在删除派生类对象时正确调用派生类的析构函数,需要将基类的析构函数声明为虚函数。通过将析构函数声明为虚函数,可以在运行时识别对象的实际类型,并相应地调用适当的析构函数。
阅读全文