>>231
たとえば、Aというクラスがあって、そこから派生したBという
クラスがあるとするわな。それで、

B *pB = new B;
A *pA = (A *)pB;
delete pA;

なんつーことをする時に、Bのデストラクタが仮想関数になって
いないと、delete時にクラスBのデストラクタが呼ばれない。Bの中で
メモリをアロケートしてたりすると、そこでリークしてしまう罠。
全然VC++の話じゃないが、まぁそういうことだ。デストラクタは
virtual指定しておくべし。