函數(shù)聲明函數(shù)模板求絕對(duì)">
第09章_群體類和群體數(shù)據(jù)的組織

第09章_群體類和群體數(shù)據(jù)的組織

ID:44976971

大小:247.50 KB

頁數(shù):39頁

時(shí)間:2019-11-06

第09章_群體類和群體數(shù)據(jù)的組織_第1頁
第09章_群體類和群體數(shù)據(jù)的組織_第2頁
第09章_群體類和群體數(shù)據(jù)的組織_第3頁
第09章_群體類和群體數(shù)據(jù)的組織_第4頁
第09章_群體類和群體數(shù)據(jù)的組織_第5頁
資源描述:

《第09章_群體類和群體數(shù)據(jù)的組織》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、本章主要內(nèi)容函數(shù)模板類模板String類群體類群體數(shù)據(jù)的組織9.0函數(shù)模板函數(shù)模板可以用來創(chuàng)建一個(gè)通用功能的函數(shù),以支持多種不同形參,進(jìn)一步簡(jiǎn)化重載函數(shù)的函數(shù)體設(shè)計(jì)。聲明方法:template函數(shù)聲明函數(shù)模板求絕對(duì)值函數(shù)的模板#includeusingnamespacestd;templateTabs(Tx){returnx<0?-x:x;}voidmain(){intn=-5;doubled=-5.5;cout<

2、5.5求絕對(duì)值函數(shù)的模板分析編譯器從調(diào)用abs()時(shí)實(shí)參的類型,推導(dǎo)出函數(shù)模板的類型參數(shù)。例如,對(duì)于調(diào)用表達(dá)式abs(n),由于實(shí)參n為int型,所以推導(dǎo)出模板中類型參數(shù)T為int。當(dāng)類型參數(shù)的含義確定后,編譯器將以函數(shù)模板為樣板,生成一個(gè)函數(shù):intabs(intx) {returnx<0?-x:x;}類模板用于設(shè)計(jì)一個(gè)通用類,使這個(gè)類的數(shù)據(jù)成員的類型、成員函數(shù)的參數(shù)能夠按照需要進(jìn)行改變(即參數(shù)化)聲明類模板的一般形式為:templateclassclass_name{}其中,Ttype是一個(gè)標(biāo)識(shí)符,代表所聲明的類模板中參數(shù)化的類型名

3、。注意:模板類的成員函數(shù)必須是函數(shù)模板。定義了類模板以后,就可以創(chuàng)建這個(gè)類的實(shí)例:Class_name對(duì)象1,…,對(duì)象n;type用具體的數(shù)據(jù)類型代入,系統(tǒng)根據(jù)代入的數(shù)據(jù)類型生成所需的類,并創(chuàng)建該類的對(duì)象。9.1類模板//EX9_1.cpp:演示類模板的定義和使用#include#includestructstudent//聲明一個(gè)結(jié)構(gòu)體類型{intid;intscore;};template//聲明一個(gè)類模板classbuffer{private:Ta;intempty;public:b

4、uffer(void);//聲明buffer類的構(gòu)造函數(shù)Tget(void);voidput(Tx);};template//定義buffer類的構(gòu)造函數(shù)模板buffer::buffer(void):empty(0){}template//定義成員函數(shù)get模板Tbuffer::get(void){if(empty==0){cout<<"thebufferisempty!"<//定義成員函數(shù)put模板voidbuffer::put(

5、Tx){empty++;a=x;}voidmain(void){students={1022,78};bufferi1,i2;//聲明整型對(duì)象i1,i2bufferstu1;//聲明結(jié)構(gòu)體對(duì)象stu1bufferd;//聲明雙精度對(duì)象di1.put(13);//對(duì)象i1調(diào)用put執(zhí)行了empty++i2.put(-101);//對(duì)象i2調(diào)用put執(zhí)行了empty++cout<

6、thestudent'sidis"<

7、g對(duì)象名[="字符串"]//[]表示可選項(xiàng)形式2:(生成由n個(gè)“字符”組成的字符串)string對(duì)象名(n,‘字符’)2.string類對(duì)象的操作通過string類對(duì)象的成員函數(shù)調(diào)用與重載運(yùn)算符(>>、<<、+等)對(duì)字符串進(jìn)行賦值、連接、復(fù)制、查找、交換等?;拘问綖?對(duì)象名>.<成員函數(shù)>string類//EX9_2.cpp:演示string類的應(yīng)用#include#includeusingnamespacestd;voidmain(){strings1("Hello"),s2,s3,s4;//定義string對(duì)象s2

8、=s1;//用"="號(hào)進(jìn)行賦值(重載運(yùn)

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

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

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