構(gòu)造函數(shù)和析構(gòu)函數(shù)
構(gòu)造函數(shù)是用于對(duì)對(duì)象的初始化(分配內(nèi)存空間),當(dāng)某個(gè)對(duì)象使用結(jié)束時(shí),通過(guò)析構(gòu)函數(shù)來(lái)回收其存儲(chǔ)空間。
構(gòu)造函數(shù)是一種特殊的成員函數(shù),它有以下幾個(gè)方面的特點(diǎn):
(1) 構(gòu)造函數(shù)的名字必須與類(lèi)名相同。
(2) 構(gòu)造函數(shù)可以有任意類(lèi)型的參數(shù),但不能有返回值,也不能說(shuō)明為void類(lèi)型。
(3) 構(gòu)造函數(shù)一般聲明為公有函數(shù),程序不能直接調(diào)用構(gòu)造函數(shù),構(gòu)造函數(shù)是在創(chuàng)建對(duì)象時(shí)由系統(tǒng)自動(dòng)調(diào)用。
(4) 可以利用構(gòu)造函數(shù)進(jìn)行
當(dāng)一個(gè)對(duì)象完成使命時(shí),為了減少對(duì)象占用內(nèi)存空間,可以將對(duì)象刪除。在刪除對(duì)象之前,一般使用析構(gòu)函數(shù)釋放對(duì)象占
用的內(nèi)存空間。
析構(gòu)函數(shù)具的的特點(diǎn):
(1) 析構(gòu)函數(shù)的名字與類(lèi)名相同,在類(lèi)名前面加上一個(gè)波浪號(hào)“~”。
(2) 析構(gòu)函數(shù)沒(méi)有參數(shù),不能指定類(lèi)型說(shuō)明。
(3) 在一個(gè)類(lèi)中只能有一個(gè)析構(gòu)函數(shù)。