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