虛析構(gòu)函數(shù)感覺多余了 C++規(guī)則
就是不搞懂,制定C++規(guī)則的的人,這樣規(guī)定,無論是子類或是父類,只要調(diào)用了該類的構(gòu)造函數(shù),最后系統(tǒng)必須調(diào)用一次析構(gòu)函數(shù),這樣不就不用虛析構(gòu)函數(shù)了嗎?
就是不搞懂,制定C++規(guī)則的的人,這樣規(guī)定,無論是子類或是父類,只要調(diào)用了該類的構(gòu)造函數(shù),最后系統(tǒng)必須調(diào)用一次析構(gòu)函數(shù),這樣不就不用虛析構(gòu)函數(shù)了嗎?
2016-08-05
舉報
2016-08-06
虛析構(gòu)函數(shù)適用于如下這種情況:如果用new運算符開辟了一端空間,如果基類中有析構(gòu)函數(shù),且定義了一個指向該基類的指針變量。如果在釋放這段內(nèi)存時,只執(zhí)行基類析構(gòu)函數(shù),而不執(zhí)行繼承類析構(gòu)函數(shù),就會造成內(nèi)存泄漏,所以要采用虛析構(gòu)函數(shù)。