读书人

lt;lt;深度探索C++对象模型gt;gt;有关问题之四

发布时间: 2012-02-20 21:18:24 作者: rapoo

<<深度探索C++对象模型>>问题之四
P193说到: 以静态的方式调用....的destructor.

因此我猜想, 一个基类的destructor声明为virtual的作用可能仅仅在于当这种情况:

Base *p = new Derived;
delete p;

释放*p空间时, 能够调用到 ~Derived() 从而完全地释放.

我想问的是: 为什么当~Base为virtual时, delete p 会调用~Derived, 而~Base为non-virtual 时, 就调用不到呢?

[解决办法]
嘿嘿,无盐。。。:)

读书人网 >C++

热点推荐