- 45 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 00:01:09 ]
- >>38
基底クラスのデストラクタを virtual にする必要があるのは、派生クラスの インスタンスを基底クラスのポインタ経由で delete する場合。基底クラスの デストラクタが virtual でないと、派生クラスのデストラクタが呼ばれない。 Base* b = new Derived(); ... delete b; // Derived::~Derived を呼ぶために、Base::~Base を virtual に!!! RAII でインスタンスを破棄するなら、virtual である必要はない。
|

|