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