看板 C_and_CPP 關於我們 聯絡資訊
繼承中指標使用到 upcasting 動態配置記憶體 , 需要在基底類別的解構子加上 virtual 如果我在繼承中沒有使用 upcasting 動態配置記憶體, 這樣我在解構子加上 virtual 可以嗎? 因為我不確定如果可以這樣感覺會比較安全 class A { virual ~A(){} }; class B : public A { ~B(){} // 要不要加上 virtual ??? }; class C: public B { ~C(){} } 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.0.32 ※ 編輯: yshihyu 來自: 123.204.0.32 (09/02 06:42)
littleshan:只要你的class會被繼承就應該使用virtual destructor 09/02 08:45
yshihyu:所以有無使用到upcasting指標指向new出的衍生類別,直接在 09/02 12:42
yshihyu:在基底類別解構子加上 virtual 是沒有問題嗎? 09/02 12:42
※ 編輯: yshihyu 來自: 123.204.0.32 (09/02 13:18)
DiAdo:virtual函數會增加class的大小,所以應該要看情況 09/02 14:38