- 【初心者歓迎】C/C++室 Ver.90【環境依存OK】
304 :デフォルトの名無しさん[]:2014/04/15(火) 14:19:33.38 ID:SFbbbO6x - 流れぶった切って悪いんですが
>>251の c_myclassがインターフェースクラスを継承している場合は 継承元メンバ(インターフェースクラス)に仮想デストラクタを書いておけば良いのですか?
|
- 【初心者歓迎】C/C++室 Ver.90【環境依存OK】
308 :デフォルトの名無しさん[]:2014/04/15(火) 15:09:29.49 ID:SFbbbO6x - >>307
さらっと確認したので怪しいのですがたぶん クラスAには仮想デストラクタが無い為に newしたオブジェクトがデリートされる際、継承元のデストラクタが呼び出されていませんが、 クラスBは仮想デストラクタがメンバにあるので deleteされる際に継承元のデストラクタが呼び出される訳ですよね そこで、ベクターにオブジェクトを格納する話につながる訳ですが >>251のc_myclassがインターフェースクラスを継承しているときには やはり継承元のクラスに仮想デストラクタを記述しておかないと危険だという事ですよね?
|
- 【初心者歓迎】C/C++室 Ver.90【環境依存OK】
310 :デフォルトの名無しさん[]:2014/04/15(火) 15:32:30.40 ID:SFbbbO6x - 確認しつこくてすいませんが
まとめると>>307のdlvBを dlvB temp std::vector<dlvB> obj; obj.push_back(temp); みたいにしちゃっておkってことですよね
|