<<深度探索C++对象模型>>有关问题之四

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

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

Base   *p   =   new   Derived;
delete   p;

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

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

------解决方案--------------------
嘿嘿,无盐。。。:)