Cpp クラス 継承 デストラクタ 新しいページはコチラ
提供: yonewiki
(→クラス 継承 デストラクタ) |
(→クラス 継承 デストラクタ) |
||
49行: | 49行: | ||
</syntaxhighlight2> | </syntaxhighlight2> | ||
− | + | 16行目の | |
+ | |||
+ | <syntaxhighlight2 lang="cpp"> | ||
+ | virtual ~CBaseInheritance(); | ||
+ | </syntaxhighlight2> | ||
+ | これだけで、基底クラスが消滅したときにアップキャストされた基底クラスが派生クラスのデストラクタを保持することになります。つまり派生クラスのデストラクタが動く可能性が出てきました。しかし、今回作ったメイン関数では、ポリモーフィズムで形態を変えるごとに基底クラスが消滅しないため、1回目の派生クラスからのアップキャスト生成と2回目のアップキャスト生成に対しては消滅処理がされないため、派生クラスのデストラクタは呼ばれません。基底クラスのデストラクタも呼ばれません。 | ||