析構函數是類的一個特殊的成員函數。析構函數的標誌是在字符~之後加上類的名字。它執行與構造函數相反的操作,通常用於撤銷對象時的一些清理任務,如釋放內存空間等等。析構函數沒有返回值類型和返回值,而且不能重載。在撤銷對象的時候,編譯器會自動調用析構函數。
函數main聲明瞭3個對象,對象Date1和Date2都是局部自動對象,對象Date3是靜態局部對象,前兩個對象在聲明對象時被調用。析構函數在main函數結束的時候被調用,先調用Date2的析構函數,然後是Date1的析構函數。因Date3是靜態局部對象,所以其生命期從生命該對象開始直到程序結束。