0
爲什麼我們可以有一個虛擬的析構函數而不是虛擬構造函數?爲什麼我們有一個虛析構函數,而不是在C虛擬構造++?
爲什麼我們可以有一個虛擬的析構函數而不是虛擬構造函數?爲什麼我們有一個虛析構函數,而不是在C虛擬構造++?
構造函數鏈可在編譯時確定的,因爲你用new ClassName()
總是從最具體的類可能的。
但是你打電話可能是父類的析構函數,如果你使用多態,這樣你就可以在編譯時並不知道從哪裏開始從鏈。你需要一個虛擬函數來總是調用正確的函數(或者你最終會得到最具體類中潛在的未被清理的資源)。
當你需要一個?你怎麼能用一個? – delnan
你可以看看這個 http://stackoverflow.com/questions/461203/when-to-use-virtual-destructors/15903538#15903538這可能help.Thanks –