C++——基类的析构函数没有声明为虚函数造成的影响

北城余情 提交于 2019-12-07 07:15:37

C++明确指出,当派生类对象经由一个基类指针被删除,而该基类带着一个non-virtual析构函数(即非虚析构函数),其结果是未有定义的,实际在执行时通常会发生的是对象的派生成分没有被销毁(即派生类的析构函数没有执行),这样就造成基类成分被销毁了,但是派生类成分没有被销毁,于是造成了一个诡异的“局部销毁”对象,这样可能会形成资源泄漏、败坏之数据结构,在调试器上浪费很多时间进行调试。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!