C++相談室 part30
■ このスレッドは過去ログ倉庫に格納されています
0684デフォルトの名無しさん
NGNG>ではポインタの指す実行時型のデストラクタから呼びに行くというのは
いやいや、pがCParentのポインタである以上、あくまでCParentのデストラクタを呼び出そうとする。
ところが、CParentのデストラクタを仮想にしておくと、デストラクタのありかはインスタンスをみてね、となるわけ。
で、みてみると、pが指していたのは実はCChildクラスのインスタンスだったので、
なんとCChildのデストラクタを指しているわけですよ。
さて、ここで基本的な前提知識として、CChildはCParentの派生クラスなので、CChildのデストラクタは、
CParentのデストラクタを呼び出します。これは仮想にしてるかどうかとは関係の無い話。
めでたしめでたし。
■ このスレッドは過去ログ倉庫に格納されています