トップページ > プログラム > 2014年04月15日 > SFbbbO6x

書き込み順位&時間帯一覧

15 位/204 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000012000000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【初心者歓迎】C/C++室 Ver.90【環境依存OK】

書き込みレス一覧

【初心者歓迎】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ってことですよね


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。