版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、template template 函數(shù)體定義/template 開始的,該關(guān)鍵字之后是使用尖括號(hào)括起 形式為templatetypename 數(shù)據(jù)類型參數(shù)標(biāo)識(shí)符其中,template 是定義模板函數(shù)的關(guān)鍵字;template 后面的尖括號(hào)不能省略;typename(class) Tfuc(TTdoubled; d的數(shù)據(jù)類型doubleTTdoubled; d的數(shù)據(jù)類型doubleTdoublefuc(doubledouble class 函數(shù)模板允許使用多個(gè)類型參數(shù),但在 template typename或classtemplateclass 1,class template語句與函數(shù)模板
2、定義語句之間不允許有別的語句。如下面的12345template語句與函數(shù)模板定義語句之間不允許有別的語句。如下面的12345678template Tx,T2. 123456789 void&x,Treturnvoidi,charmin(ii正確調(diào)用 min(jj正確調(diào)用 min(ijmin(jimin(ii正確調(diào)用 min(jj正確調(diào)用 min(ijmin(ji1min(i,ij不能解, nt( void&x,Treturnvoidmin(i,min(j,min(i,min(j,i,char。1. 模板的概已經(jīng)學(xué)過重載(Overloading),對(duì)重載函數(shù)。1. 模板的概已經(jīng)學(xué)過重載(Ov
3、erloading),對(duì)重載函數(shù)而言,C+的檢查機(jī)制能通過函數(shù)參數(shù)的不同及所類的不同。正確的調(diào)用重載函數(shù)。例如,為求兩個(gè)數(shù)的最大值定義 MAX()函數(shù)需要對(duì)不/函數(shù)return(xy)?x:y/函數(shù)floatmax(floatx,floatreturn(xy)?x:y/函數(shù)doublemax(doublex,doublereturn(cy)?x:y但如果在主函數(shù)分別定義了 chara,b; 那么在max(a,b);時(shí) 程序就會(huì)出錯(cuò),因沒有定義char的重現(xiàn)在新審視上述的 一套代碼解決現(xiàn)在新審視上述的 一套代碼解決這個(gè)問題呢?這樣就會(huì)避免因重載函數(shù)定義不 全面而帶來的調(diào)用錯(cuò)誤。為解決上述題 即把
4、類型定義為參數(shù), 從而實(shí)現(xiàn)了真正的代碼可重用性。模版可以分為兩類,一個(gè)是函數(shù)模版,外一個(gè)是類模版函數(shù)模板的寫函數(shù)模板的一般形式如下 返回類型 函數(shù)名(形參表/函數(shù)定義體 說明: template一參多余一個(gè) ,每個(gè)形參前都要加class 可以包含基本數(shù)據(jù)類型可以包請(qǐng)看以下程序#includeusingusing一個(gè)函數(shù)模版,用來比較輸入的兩個(gè)相同數(shù)據(jù)類型的參數(shù)的大小,classtypenametemplateclassT x,T voidmain(doublecoutcout程序 voidmain(doublecoutcout程序main()函數(shù)中定義了兩個(gè)整型變量n1n2 兩個(gè)雙精度類型變量
5、d1d2然后調(diào)用minn2); 即實(shí)例化函數(shù)模板Tx,Ty)其中型求出n1,n2中的最小值同理調(diào)用時(shí)d1,d2中的3. 類模板的定義一個(gè)類模板Templateclass或者也可以用typenameTclass類名類定義 是是多/ #ifndef#define templatetypenameT1,typenameclassT1 T2 myClass(T1a,T2void#define templatetypenameT1,typenameclassT1 T2 myClass(T1a,T2voidtemplatetypenameT1,typenamemyClass:myClass(T1a,T2/
6、這是voidtemplate,char,char class, , 標(biāo)準(zhǔn)模板庫STL簡(jiǎn)介 STL 的代碼從廣義上講分為三類:algorithm(算法、container(容器)和 iterator(迭標(biāo)準(zhǔn)模板庫STL簡(jiǎn)介 STL 的代碼從廣義上講分為三類:algorithm(算法、container(容器)和 iterator(迭 、的STL100for_each將為指定序列中的每一 STL頭文件中最大的一個(gè)(盡管它很好理解,它是由一大堆模版函數(shù)組成的,可以認(rèn)為每算的模板函數(shù),包括加法和乘法在序列上的一些操作。2的代碼,這些代碼都十分相似,只是為了適應(yīng)不同數(shù)據(jù)的變化而在細(xì)節(jié)上有所出入。 向量列表雙隊(duì)列集合棧隊(duì)列列表雙隊(duì)列集合棧隊(duì)列3STL STL 中用來將算法和容器聯(lián)系起來,起著一種黏STL 提供的所有算法都是通過迭代器存取元素序列進(jìn)行工作的,每一個(gè)STL 中的幾個(gè)模板的 , 2. 2. O(1 隨3. 對(duì)list隨3.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高級(jí)會(huì)籍年費(fèi)支付協(xié)議3篇
- 2025版酒店裝修施工材料運(yùn)輸及倉儲(chǔ)合同3篇
- 2025年度食堂食材物流配送合同2篇
- 二零二五年度體育設(shè)施PPP項(xiàng)目合作協(xié)議3篇
- 盆腔引流管的護(hù)理
- 2024年短期商務(wù)汽車租賃合同模板版B版
- 二零二五年度個(gè)人信用消費(fèi)分期付款合同3篇
- 二零二五年國際貿(mào)易FOB價(jià)格條款合同模板:風(fēng)險(xiǎn)控制與合規(guī)3篇
- 2025版網(wǎng)絡(luò)安全產(chǎn)品個(gè)人眾籌合作合同3篇
- 二零二五年度2025版?zhèn)€人住房按揭車輛轉(zhuǎn)讓及保險(xiǎn)配套服務(wù)合同范本3篇
- 昆明市2024屆“三診一?!保ㄈy(tǒng))高考模擬考試 語文試卷(含答案)
- 湖北省武漢市經(jīng)濟(jì)開發(fā)區(qū)(漢南區(qū))2022-2023學(xué)年五年級(jí)上學(xué)期期末數(shù)學(xué)試卷
- (完整版)公務(wù)員考試行測(cè)答題卡-高清A4標(biāo)準(zhǔn)打印版
- 南海局勢(shì)和國家安全
- 初中化學(xué)實(shí)驗(yàn)安全教育
- 《預(yù)測(cè)與決策教程第2版》(習(xí)題解答)機(jī)工版
- GT 42456-2023 工業(yè)自動(dòng)化和控制系統(tǒng)信息安全 IACS組件的安全技術(shù)要求
- 服裝色彩搭配智慧樹知到期末考試答案2024年
- 自動(dòng)扶梯事故應(yīng)急處置預(yù)案
- 招生人員培訓(xùn)課件
- 2023-2024學(xué)年深圳市羅湖區(qū)七年級(jí)(上)期末考試 英語 試題(解析版)
評(píng)論
0/150
提交評(píng)論