構(gòu)造函數(shù)主要功能是為對(duì)象中的數(shù)據(jù)成員賦初值,初始化是對(duì)類(lèi)的內(nèi)部數(shù)據(jù)而言,不要泛化這個(gè)原則
經(jīng)常會(huì)有這樣的程序:
Class A::A()
{
fopen(...);
……
}
No!fopen不一定成功,而你也不會(huì)在對(duì)象構(gòu)造時(shí)得到任何fopen失敗信息。
構(gòu)造函數(shù):
構(gòu)造函數(shù)的作用是在對(duì)象被創(chuàng)建時(shí)使用特定的值構(gòu)造對(duì)象,或者說(shuō)將對(duì)象初始化為一個(gè)特定的狀態(tài)。
在對(duì)象創(chuàng)建時(shí)由系統(tǒng)自動(dòng)調(diào)用。
如果程序中未定義出,則系統(tǒng)自動(dòng)產(chǎn)生出一個(gè)缺省形式的構(gòu)造函數(shù)
允許為內(nèi)聯(lián)函數(shù)、重載函數(shù)、帶缺省形參值的函數(shù)
構(gòu)造函數(shù)與類(lèi)同名我們以此來(lái)標(biāo)識(shí)構(gòu)造函數(shù)
構(gòu)造函數(shù)上惟一的語(yǔ)法限制是它不能指定返回類(lèi)型甚至void 也不行<因?yàn)闆](méi)人接收這個(gè)返回值>
構(gòu)造函數(shù)主要是兩個(gè)功能:為對(duì)象開(kāi)辟空間,為對(duì)象中的數(shù)據(jù)成員賦初值。
C++語(yǔ)言對(duì)于一個(gè)類(lèi)可以聲明多少個(gè)構(gòu)造函數(shù)沒(méi)有限制只要每個(gè)構(gòu)造函數(shù)的參數(shù)表是惟一的即可。
析構(gòu)函數(shù)同樣,析構(gòu)函數(shù)中調(diào)用fclose同樣。