スレを勃てるまでもないC/C++の質問はここでat TECH
スレを勃てるまでもないC/C++の質問はここで - 暇つぶし2ch303:デフォルトの名無しさん
07/02/05 14:55:20
>>302
A *obj = new B;
みたいな使い方した場合。
Aに仮想関数が存在しなければobjはすべてAとして動作するから、
デストラクタもAのデストラクタが動けばいいけど
仮想関数が存在した場合、objはBとして動作することがある。
そのときBの動作してAのデストラクタしか動かなかった場合、危険でそ?

B *obj = new B;
のように宣言するならちゃんとobjが破棄されたときにBのデストラクタが動くはず。
でもそんなリスキーなこと考えず、仮想メンバ関数のあるクラスには
virtualなデストラクタを置くのが常識。



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch