条款7:为多态基类声明VIRTUAL析构函数

来源:互联网 发布:淘宝7天打造爆款 编辑:程序博客网 时间:2024/05/17 01:38

 

当子类对象经由一个父类指针被删除,而父类带着一个non-virtual析构函数,实际执行时通常发生的是子类成分没被销毁。任何CLASS只要带有virtual函数都几乎确定应该也有一个virtual析构函数。

标准string及STL容器不含任何virtual,它们当父类时,请注意。

 

解决方法:

 

析构时先调用最深层子类,然后编译器创建一个对相对父类的析构。

 

原创粉丝点击