C++ 指出:当一个派生 类对 象通 过 使用一个基 类 指 针删 除,而 这 个基 类 有一个非虚的析构函数, 则结 果是未定 义 的。运行 时 比 较 有代表性的后果是 对 象的派生部分不会被 销毁 。如果一个 类 要被另外一个 类继 承,而且用其指 针 指向其子 类对 象 时 ,如 A* d = new B();( 假定 A 是基 类 , B 是从 A 继 承而来的派生 类 ) ,那 么 其 (A 类 ) 析构函数必 须 是虚的,否 则 在 delete d 时 , B 类 的析构函数将不会被 调 用,因而会 产 生内存泄漏和异常;
但在symbian中,若类继承自CBase,因为CBase的析构函数为虚析构函数,所以可以正确调用到子类的析构函数