作者Ultor (m(_ _)m)
看板EE_DSnP
標題[問題] virtual destructor
時間Tue May 26 20:57:16 2009
剛剛看了以前討論 virtual destructor 的問題
是說如果一個 class 有 virtual function 那就應該要有 virtual destructor
那如果有一個
class P 裡面沒有 virtual function 也沒有 virtual destructor
另外有一個 class C 繼承 class P
如果用 P* p = new C; 之後
在 delete p 的時候 C 的 destructor 是不是就不會被呼叫了?
這樣會不會有什麼問題
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.218.45
推 ric2k1:應該是用到繼承就應該寫 virtual destructor, 與有沒有 05/26 21:23
→ ric2k1:virtual function 沒有關係. 05/26 21:23
→ Ultor:哦哦 原來如此 @___@ 05/26 21:24
→ ric2k1:如果沒有 virtual destructor, C 的 destructor 就不會被 05/26 21:24
→ ric2k1:呼叫而它的 data member 也就不會被 destructed 05/26 21:24
推 ric2k1:整頁被我們霸佔了... XD 05/26 21:25