虚析构函数

本文讨论了C++中虚析构函数的重要性,特别是当派生类对象通过基类指针删除时,若基类析构函数不是虚函数,则会导致派生类的资源无法正确释放,进而引发内存泄漏和异常行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++ 指出:当一个派生 类对 象通 使用一个基 针删 除,而 个基 有一个非虚的析构函数, 则结 果是未定 的。运行 有代表性的后果是 象的派生部分不会被 销毁 。如果一个 要被另外一个 类继 承,而且用其指 指向其子 类对 ,如 A* d = new B();( 假定 A 是基 B 是从 A 承而来的派生 ) ,那 (A ) 析构函数必 是虚的,否 delete d B 的析构函数将不会被 用,因而会 生内存泄漏和异常;

 

但在symbian中,若类继承自CBase,因为CBase的析构函数为虚析构函数,所以可以正确调用到子类的析构函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值