1朋其、友元
友元機(jī)制允許一個(gè)類將其非公有成員的訪問權(quán)授予指定的函數(shù)或類,友元的聲明以friend關(guān)鍵字開始。友元聲明將已命名的函數(shù)或類引入了外圍的作用域颜武,并且友元聲明的函數(shù)可以在類的內(nèi)部定義,該函數(shù)的定義域擴(kuò)展到包含該類的作用域拖吼。
2鳞上、const 成員函數(shù)
在C++中,只有被聲明為const的成員函數(shù)才能被一個(gè)const類對(duì)象調(diào)用吊档,要聲明一個(gè)const類型的類成員函數(shù)篙议,只需要在成員函數(shù)參數(shù)列表后加上關(guān)鍵字const,在類體之外定義const成員函數(shù)時(shí)怠硼,還必須加上const關(guān)鍵字鬼贱。
3、標(biāo)準(zhǔn)庫函數(shù)-sort
使用該算法必須包含頭文件-algorithm香璃,sort函數(shù)默認(rèn)是按升序排列这难,例如sort(a,a+n),兩個(gè)參數(shù)分別為待排序數(shù)組的首地址和尾地址(尾地址不加入排序)葡秒,排序的數(shù)據(jù)類型不局限于整數(shù)姻乓,只要是定義了小于運(yùn)算的類型都可以,如果是沒有定義小于運(yùn)算的數(shù)據(jù)類型眯牧,或者想改變排序的順序蹋岩,就要用到第三參數(shù)——比較函數(shù)。比較函數(shù)是一個(gè)自己定義的函數(shù)学少,返回值是bool型剪个,它規(guī)定了什么樣的關(guān)系才是“小于”。想把一個(gè)整數(shù)數(shù)組按降序排列版确,可以先定義一個(gè)比較函數(shù)cmp(降序):
bool cmp(int a,int b)
{
return a>b;
}
然后調(diào)用sort(a,a+n扣囊,cmp)
4乎折、操作符重載
一般operator關(guān)鍵字加相應(yīng)的操作符組成,可以為成員函數(shù)或非成員函數(shù)如暖,非成員函數(shù)一般設(shè)為該類的友元笆檀。默認(rèn)情況下,取址操作符和逗號(hào)操作符在類對(duì)象執(zhí)行與在內(nèi)置類型一樣盒至,取址返回對(duì)象的首地址酗洒,逗號(hào)從左到右計(jì)算每個(gè)表達(dá)式的值,并返回最右端的表達(dá)式的值枷遂。IO操作符必須為非成員函數(shù)樱衷。