1.常對(duì)象使用const關(guān)鍵字修飾的對(duì)象稱為常對(duì)象,它的定義格式如下:<類名>const<對(duì)象名>或const<類名><對(duì)象名>常對(duì)象在定義時(shí)必須進(jìn)行初始化,而且不能被更新。
2.常成員函數(shù)使用const關(guān)鍵字說(shuō)明的成員函數(shù)稱為常成員函數(shù),常成員函數(shù)的說(shuō)明格式如下:<返回類型><成員函數(shù)名>(<參數(shù)表>)const;
3.常數(shù)據(jù)成員使用const說(shuō)明的數(shù)據(jù)成員稱為常數(shù)據(jù)成員。常數(shù)據(jù)成員的定義與一般常量的定義方式相同,只是它的定義必須出現(xiàn)在類體中。常數(shù)據(jù)成員同樣也必須進(jìn)行初始化,并且不能被更新。但常數(shù)據(jù)成員的初始化只能通過(guò)構(gòu)造函數(shù)的成員初始化列表進(jìn)行。常數(shù)據(jù)成員的初始化只能在成員初始化列表中進(jìn)行,但對(duì)于大多數(shù)數(shù)據(jù)成員而言,既可以使用成員初始化列表的方式,也可以使用賦值,即在構(gòu)造函數(shù)體中使用賦值語(yǔ)句將表達(dá)式的值賦值給數(shù)據(jù)成員。這兩種方式中,成員初始化列表方式使初始化情況更加明顯,并且可能帶來(lái)效率上的優(yōu)勢(shì)。 【考點(diǎn)八】 友元類具有數(shù)據(jù)封裝和隱藏的特性,只有類的成員函數(shù)才能訪問(wèn)類的私有成員,外部函數(shù)只能訪問(wèn)類的公有成員。但在某些情況下,需要在類的外部訪問(wèn)類的私有成員。這時(shí),如果通過(guò)公有成員函數(shù)進(jìn)行訪問(wèn),由于參數(shù)傳遞、類型檢查和安全性檢查等需要時(shí)間上的開銷,將影響程序的運(yùn)行效率。為了解決整個(gè)問(wèn)題,引入了友元。友元可以在類外部直接訪問(wèn)類的私有成員,提高了程序的運(yùn)行效率。友元提供了不同類或?qū)ο蟮某蓡T函數(shù)之間、類的成員函數(shù)與一般函數(shù)之間進(jìn)行數(shù)據(jù)共享的機(jī)制。對(duì)于一個(gè)類,可以利用friend關(guān)鍵字將一般函數(shù)、其他類的成員函數(shù)或者是其他類聲明為該類的友元,使得這個(gè)類中本來(lái)隱藏的信息(包括私有成員和保護(hù)成員)可以被友元所訪問(wèn)。如果友元是一般成員函數(shù)或是類的成員函數(shù),稱為友元函數(shù);如果友元是一個(gè)類,則稱為友元類,友元類的所有成員函數(shù)都成為友元函數(shù)。
1.友元函數(shù)友元函數(shù)不是當(dāng)前類的成員函數(shù),而是獨(dú)立于當(dāng)前類的外部函數(shù)(包括普通函數(shù)和其他類的成員函數(shù)),但它可以訪問(wèn)該類的所有對(duì)象的成員,包括私有成員、保護(hù)成員和公有成員。友元函數(shù)要在類定義時(shí)聲明,聲明時(shí)要在其函數(shù)名前加上關(guān)鍵字friend。該聲明可以放在公有部分,也可以放在私有部分。友元函數(shù)的定主既可以在類內(nèi)部進(jìn)行,也可以在類外部進(jìn)行。
2.友元類友元除了可以是函數(shù)外,還可以是類,即一個(gè)類可以作為另一個(gè)類的友元,稱為友元類。友元類的所有成員函數(shù)都是另一個(gè)類的友元函數(shù),都可以訪問(wèn)另一個(gè)類中的隱藏信息(包括私有成員和保護(hù)成員)。友元類可以在另一個(gè)類的公有部分或私有部分進(jìn)行說(shuō)明,說(shuō)明方法如下:friend<類名>;//友元類類名 【考點(diǎn)九】 對(duì)象數(shù)組對(duì)象數(shù)組是指數(shù)組元素為對(duì)象的數(shù)組,該數(shù)組中的每一個(gè)元素都是同一個(gè)類的對(duì)象。對(duì)象數(shù)組的定義格式如下:<類名><數(shù)組名>[<大。荆荨褂脤(duì)象數(shù)組成員的一般格式是:<數(shù)組名>[<下標(biāo)>].<成員名> 【考點(diǎn)十】 成員對(duì)象類的數(shù)據(jù)成員可以是簡(jiǎn)單類型或自定義類型,也可以是類類型的對(duì)象。因此,可以利用已定義的類來(lái)構(gòu)成新的類,使得一些復(fù)雜的類可以由一些簡(jiǎn)單類組合而成。類的聚集,描述的就是一個(gè)類內(nèi)嵌其他類的對(duì)象作為成員的情況。當(dāng)一個(gè)類的成員是另外一個(gè)類的對(duì)象時(shí),該對(duì)象就稱為成員對(duì)象。當(dāng)類中出現(xiàn)了成員對(duì)象時(shí),該類的構(gòu)造函數(shù)要包含對(duì)成員對(duì)象的初始化,通常采用成員初始化列表的方法來(lái)初始化成員對(duì)象。定義的一般格式如下:<類名>::<類名>(<總形參表>):<成員對(duì)象1>(<形參表1>),<成員對(duì)象2>(<形參表2<),…{//類成員的初始化}建立一個(gè)類的對(duì)象時(shí),要調(diào)用它的構(gòu)造函數(shù)。如果這個(gè)類有成員對(duì)象,要首先執(zhí)行所有的成員對(duì)象的構(gòu)造函數(shù),當(dāng)全部成員對(duì)象的初始化都完成之后,再執(zhí)行當(dāng)前類的構(gòu)造函數(shù)體。析構(gòu)函數(shù)的執(zhí)行順序與構(gòu)造函數(shù)的執(zhí)行順序相反。當(dāng)類中有多個(gè)成員對(duì)象時(shí),要按照定義成員對(duì)象的順序建立各個(gè)子對(duì)象,即成員對(duì)象構(gòu)造函數(shù)的執(zhí)行順序僅與成員對(duì)象在類中聲明的順序有關(guān),而與成員初始化列表中給出的成員對(duì)象的順序無(wú)關(guān)。如果在構(gòu)造函數(shù)的成員初始化列表中沒(méi)有給出對(duì)成員對(duì)象的初始化,則表示使用成員對(duì)象的缺省構(gòu)造函數(shù)。如果成員對(duì)象所在的類沒(méi)有缺省構(gòu)造函數(shù),將產(chǎn)生錯(cuò)誤。如果所有的成員對(duì)象都是調(diào)用缺省構(gòu)造函數(shù)建立的,那么該類的構(gòu)造函數(shù)的成員初始化列表可以省略。
希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇
更多信息請(qǐng)?jiān)L問(wèn):考試吧計(jì)算機(jī)等級(jí)考試欄目