在多态的时候,比如基类的指针指向派生类的对象,如果删除该指针delete []p,就会调用该指针指向的派生类析构函数,而派生类的析构函数又自动调用基类的析构函数,这样整个派生类的对象完全被释放。
如果析构函数不被声明成虚函数,会造成派生类对象析构不完全。
所以析构函数声明为虚函数的十分必要的。
析构函数可以是虚函数吗?
最新推荐文章于 2022-08-17 09:38:36 发布
在多态的时候,比如基类的指针指向派生类的对象,如果删除该指针delete []p,就会调用该指针指向的派生类析构函数,而派生类的析构函数又自动调用基类的析构函数,这样整个派生类的对象完全被释放。
如果析构函数不被声明成虚函数,会造成派生类对象析构不完全。
所以析构函数声明为虚函数的十分必要的。