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