005構(gòu)造函數(shù)與析構(gòu)函數(shù)

005構(gòu)造函數(shù)與析構(gòu)函數(shù)

ID:37823745

大小:70.50 KB

頁(yè)數(shù):6頁(yè)

時(shí)間:2019-05-31

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

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

1、構(gòu)造函數(shù)與析構(gòu)函數(shù)一、構(gòu)造函數(shù)1.構(gòu)造函數(shù):特殊的類(lèi)成員函數(shù),主要用于為對(duì)象分配空間,進(jìn)行初始化。特點(diǎn):(1)必須與類(lèi)同名。(2)不能指定返回類(lèi)型。(3)可以寫(xiě)在函數(shù)體內(nèi)或外。(4)可以重載。(5)即使構(gòu)造函數(shù)是公有的,也不能被顯式地調(diào)用,它是定義對(duì)象時(shí)被自動(dòng)調(diào)用的。(6)構(gòu)造函數(shù)也可以是不帶參數(shù)的。2.構(gòu)造函數(shù)的聲明格式:函數(shù)名(參數(shù)表);——函數(shù)名必須與類(lèi)同名。帶缺省值的構(gòu)造函數(shù):函數(shù)名(類(lèi)型參數(shù)=默認(rèn)值,類(lèi)型參數(shù)=默認(rèn)值);構(gòu)造函數(shù)的實(shí)現(xiàn):類(lèi)名::函數(shù)名(參數(shù)表){語(yǔ)句序列;}3.用構(gòu)造函數(shù)直接創(chuàng)建對(duì)象格式:類(lèi)名對(duì)象名(實(shí)參表);——聲明構(gòu)造函數(shù)時(shí),參數(shù)沒(méi)有缺省值,則定義對(duì)象時(shí)必須給

2、出實(shí)參。4.構(gòu)造函數(shù)與指針、new結(jié)合創(chuàng)建對(duì)象格式:類(lèi)名*指針變量=new類(lèi)名(實(shí)參表);5.缺省的構(gòu)造函數(shù)如果定義類(lèi)時(shí)沒(méi)有定義構(gòu)造函數(shù),則系統(tǒng)自動(dòng)生成一個(gè)缺省的構(gòu)造函數(shù):格式:類(lèi)名::缺省構(gòu)造函數(shù)名(){}功能:為對(duì)象開(kāi)辟一個(gè)存儲(chǔ)空間,但不初始化。由于用戶一旦定義了構(gòu)造函數(shù),系統(tǒng)將不再提供缺省構(gòu)造函數(shù),因此,可以定義一個(gè)無(wú)參的構(gòu)造函數(shù)以提高程序的健壯性:一個(gè)有錯(cuò)的程序:#include"iostream.h"classDate{public:Date(inty,intm,intd);//Date(){}或增加缺省值voidsetDate(inty,intm,intd);voidshowD

3、ate();private:intyear,month,day;};Date::Date(inty,intm,intd){year=y;month=m;day=d;}voidDate::setDate(inty,intm,intd){year=y;month=m;day=d;}voidDate::showDate(){cout<

4、構(gòu)造函數(shù)與初始化函數(shù)二、析構(gòu)函數(shù)1.析構(gòu)函數(shù)一種特殊的類(lèi)成員函數(shù),它執(zhí)行與構(gòu)造函數(shù)相反的操作,用于撤消對(duì)象時(shí)的一些清理任務(wù),釋放分配給對(duì)象的內(nèi)存空間。特點(diǎn):(1)沒(méi)有參數(shù),沒(méi)有返回值,不能重載,一個(gè)類(lèi)中只能有一個(gè)析構(gòu)函數(shù)。(2)撤消對(duì)象時(shí),系統(tǒng)自動(dòng)調(diào)用析構(gòu)函數(shù)。2.析構(gòu)函數(shù)的聲明格式:~函數(shù)名()——函數(shù)名與類(lèi)同名。三、拷貝構(gòu)造函數(shù)用已經(jīng)存在的對(duì)象建立新對(duì)象或函數(shù)調(diào)用時(shí)函數(shù)參數(shù)為對(duì)象且是值傳遞類(lèi)型時(shí),需要調(diào)用的函數(shù)。當(dāng)類(lèi)中沒(méi)有顯示聲明拷貝構(gòu)造函數(shù),系統(tǒng)會(huì)提供默認(rèn)的拷貝構(gòu)造函數(shù)。#include"iostream.h"classstu{private:char*name;public:stu

5、(){cout<<"調(diào)用了無(wú)參構(gòu)造函數(shù)"<

6、ut<<"析構(gòu)了"<

7、構(gòu)造函數(shù)必須定義,不能缺省2.在聲明類(lèi)時(shí),下面的說(shuō)法正確的是:A.可以在類(lèi)的聲明中給數(shù)據(jù)成員賦初值B.數(shù)據(jù)成員的數(shù)據(jù)類(lèi)型可以是registerC.prvate,public,protected可以按任意順序出現(xiàn)D.沒(méi)有用prvate,public,protected定義的數(shù)據(jù)成員是公有成員3.在下面有關(guān)析構(gòu)函數(shù)特征的描述中,正確的是:()A.一個(gè)類(lèi)中可以定義多個(gè)析構(gòu)函數(shù)B.析構(gòu)函數(shù)名與類(lèi)名完全相同C.析構(gòu)函數(shù)不能指定返回

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

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

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(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)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。