析構函數可以為虛函數,也可以不為虛函數。(更多的時候不為虛函數)。設計析構函數為虛函數,主要是考慮到繼承。
析構函數(destructor) 與構造函數相反,當對象結束其生命周期,如對象所在的函數已調用完畢時,系統自動執行析構函數。析構函數往往用來做“清理善後” 的工作(例如在建立對象時用new開辟了壹片內存空間,delete會自動調用析構函數後釋放內存)。
函數介紹
與構造函數相反,當對象結束其生命周期,如對象所在的函數已調用完畢時,系統會自動執行析構函數。以C++語言為例:析構函數名也應與類名相同,只是在函數名前面加壹個位取反符~,例如~stud( ),以區別於構造函數。它不能帶任何參數,也沒有返回值(包括void類型)。只能有壹個析構函數,不能重載。