如果我有一個基類和一個派生類,並且我在父虛擬中析構函數delcare,但是實例化一個類型爲子類的對象,當它被銷燬時它會調用父析構函數的權利(因爲虛擬)?如果我還在派生類中聲明瞭析構函數,它是否會調用析構函數(基類和派生類)。提前致謝 :-)。C++虛擬析構函數
我的問題的第二部分是關於第一部分。爲什麼基類析構函數需要聲明爲虛擬的。不要考慮循環式的結構。他們不分享同一個名字,那麼對它的需求在哪裏?它不應該像destrucotrs一樣工作,或者默認情況下只有一個被稱爲?也可以通過後期綁定來檢測所有的類和對象是由什麼組成的?
編輯:我的問題不只是關於虛擬析構函數,但爲什麼它需要被聲明爲虛擬的,因爲它們都應該被默認調用。
嗯,你的第一段回答第二個。這在任何體面的C++語言書中都有介紹。並在*相關*部分的權利的問題。 – 2011-04-26 04:42:19
[虛擬析構函數如何工作?](http://stackoverflow.com/questions/2722537/how-do-virtual-destructors-work) – 2011-04-26 04:42:52
@Hans,我有一本書,它不包括在所有。 – rubixibuc 2011-04-26 04:44:51