構(gòu)造函數(shù)和析構(gòu)函數(shù)1

構(gòu)造函數(shù)和析構(gòu)函數(shù)1

ID:39491310

大?。?98.50 KB

頁數(shù):53頁

時(shí)間:2019-07-04

構(gòu)造函數(shù)和析構(gòu)函數(shù)1_第1頁
構(gòu)造函數(shù)和析構(gòu)函數(shù)1_第2頁
構(gòu)造函數(shù)和析構(gòu)函數(shù)1_第3頁
構(gòu)造函數(shù)和析構(gòu)函數(shù)1_第4頁
構(gòu)造函數(shù)和析構(gòu)函數(shù)1_第5頁
資源描述:

《構(gòu)造函數(shù)和析構(gòu)函數(shù)1》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、1第十章構(gòu)造函數(shù)和析構(gòu)函數(shù)2構(gòu)造函數(shù)和析構(gòu)函數(shù)是在類體中說明的兩種特殊的成員函數(shù)。構(gòu)造函數(shù)是在創(chuàng)建對(duì)象時(shí),使用給定的值來將對(duì)象初始化。析構(gòu)函數(shù)的功能正好相反,是在系統(tǒng)釋放對(duì)象前,對(duì)對(duì)象做一些善后工作。3構(gòu)造函數(shù)是類的成員函數(shù),系統(tǒng)約定構(gòu)造函數(shù)名必須與類名相同。構(gòu)造函數(shù)提供了初始化對(duì)象的一種簡(jiǎn)單的方法。構(gòu)造函數(shù)可以帶參數(shù)、可以重載,同時(shí)沒有返回值。4classA{floatx,y;public:A(floata,floatb){x=a;y=b;}//構(gòu)造函數(shù),初始化對(duì)象floatSum(void){returnx+y;

2、}voidSet(floata,floatb){x=a;y=b;}Print(void){cout<<"x="<

3、在定義構(gòu)造函數(shù)時(shí),不能指定函數(shù)返回值的類型,也不能指定為void類型。3.一個(gè)類可以定義若干個(gè)構(gòu)造函數(shù)。當(dāng)定義多個(gè)構(gòu)造函數(shù)時(shí),必須滿足函數(shù)重載的原則。64.構(gòu)造函數(shù)可以指定參數(shù)的缺省值。5.若定義的類要說明該類的對(duì)象時(shí),構(gòu)造函數(shù)必須是公有的成員函數(shù)。如果定義的類僅用于派生其它類時(shí),則可將構(gòu)造函數(shù)定義為保護(hù)的成員函數(shù)。由于構(gòu)造函數(shù)屬于類的成員函數(shù),它對(duì)私有數(shù)據(jù)成員、保護(hù)的數(shù)據(jù)成員和公有的數(shù)據(jù)成員均能進(jìn)行初始化。7classA{floatx,y;public:A(floata,floatb=10){x=a;y=b;}A(

4、){x=0;y=0;}voidPrint(void){cout<

5、x<<'t'<

6、a1(3);voidf(void){Ab(2,3);}voidmain(void){Aa2(4,5);f();f();}122211classA{floatx,y;public:A(floata,floatb){x=a;y=b;cout<<"初始化自動(dòng)局部對(duì)象";}A(){x=0;y=0;cout<<"初始化靜態(tài)局部對(duì)象";}A(floata){x=a;y=0;cout<<"初始化全局對(duì)象";}voidPrint(void){cout<

7、義全局對(duì)象voidf(void){cout<<"進(jìn)入f()函數(shù)";Aa2(1,2);staticAa3;//初始化局部靜態(tài)對(duì)象}voidmain(void){cout<<"進(jìn)入main函數(shù)";Aa1(3.0,7.0);//定義局部自動(dòng)對(duì)象f();f();}初始化全局對(duì)象進(jìn)入main函數(shù)初始化自動(dòng)局部對(duì)象進(jìn)入f()函數(shù)初始化局部靜態(tài)變量進(jìn)入f()函數(shù)初始化自動(dòng)局部對(duì)象初始化自動(dòng)局部對(duì)象12缺省的構(gòu)造函數(shù)在定義類時(shí),若沒有定義類的構(gòu)造函數(shù),則編譯器自動(dòng)產(chǎn)生一個(gè)缺省的構(gòu)造函數(shù),其格式為:className::cla

8、ssName(){}缺省的構(gòu)造函數(shù)并不對(duì)所產(chǎn)生對(duì)象的數(shù)據(jù)成員賦初值;即新產(chǎn)生對(duì)象的數(shù)據(jù)成員的值是不確定的。13classA{floatx,y;public:A(){}//缺省的構(gòu)造函數(shù),編譯器自動(dòng)產(chǎn)生,可以不寫floatSum(void){returnx+y;}voidSet(floata,floatb){x=a;y=b;}voidPrint(

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。