c構(gòu)造函數(shù)與析構(gòu)函數(shù).ppt

c構(gòu)造函數(shù)與析構(gòu)函數(shù).ppt

ID:51619844

大小:299.05 KB

頁數(shù):53頁

時間:2020-03-26

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

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

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

2、y=b;}Print(void){cout<<"x="<

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

4、),a3(3.0,7.0);a1.Print();a2.Print();a3.Print();}00201037帶缺省參數(shù)的構(gòu)造函數(shù)不帶參數(shù)的構(gòu)造函數(shù)每一個對象必須要有相應(yīng)的構(gòu)造函數(shù)每一個對象必須要有相應(yīng)的構(gòu)造函數(shù)若沒有顯式定義構(gòu)造函數(shù),系統(tǒng)默認(rèn)缺省的構(gòu)造函數(shù)。classA{floatx,y;public:A(){}voidPrint(void){cout<

5、于靜態(tài)對象,是在首次定義對象時,調(diào)用構(gòu)造函數(shù)的,且由于對象一直存在,只調(diào)用一次構(gòu)造函數(shù)。對于全局對象,是在main函數(shù)執(zhí)行之前調(diào)用構(gòu)造函數(shù)的。classA{intx,y;public:A(inta){x=a;cout<<“1”;}A(inta,intb){x=a,y=b;cout<<“2”;}};Aa1(3);voidf(void){Ab(2,3);}voidmain(void){Aa2(4,5);f();f();}1222classA{floatx,y;public:A(floata,floatb){x=a;y=b;cout<<"初始化自動局部對象"

6、;}A(){x=0;y=0;cout<<"初始化靜態(tài)局部對象";}A(floata){x=a;y=0;cout<<"初始化全局對象";}voidPrint(void){cout<

7、入f()函數(shù)初始化局部靜態(tài)變量進(jìn)入f()函數(shù)初始化自動局部對象初始化自動局部對象缺省的構(gòu)造函數(shù)在定義類時,若沒有定義類的構(gòu)造函數(shù),則編譯器自動產(chǎn)生一個缺省的構(gòu)造函數(shù),其格式為:className::className(){}缺省的構(gòu)造函數(shù)并不對所產(chǎn)生對象的數(shù)據(jù)成員賦初值;即新產(chǎn)生對象的數(shù)據(jù)成員的值是不確定的。classA{floatx,y;public:A(){}//缺省的構(gòu)造函數(shù),編譯器自動產(chǎn)生,可以不寫floatSum(void){returnx+y;}voidSet(floata,floatb){x=a;y=b;}voidPrint(void){cout<<

8、"x="<

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

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

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