析構函數沒有返回類型,沒有參數表,不能重載,一個類只能有一個析構函數。析構函數只能由系統自動調用,不能在程序中顯示調用。 當創建一個對象時,C++將首先為數據成員分配存儲空間,接著調用構造函數對成員進行初始化工作;當對象生存期結束時,C++將自動調用析構函數清理對象所占據的存儲空間,然后才銷毀對象。 說明:
若有多個對象同時結束生存期,C++將按照與調用構造函數相反的次序調用析構函數。構造函數和析構函數都可以是inline()函數。通常,構造函數與析構函數應被設置為類的公有成員,雖然他們只能被系統自動調用,但這些調用都是在類的外部進行的。每個類都應該有一個析構函數,若沒有顯示定義,編譯器將產生一個最小化的默認析構函數: X::~X(){}析構函數最常見的是用來釋放由構造函數分配的自由存儲空間,防止內存泄露。新聞熱點
疑難解答
圖片精選