




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
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),對重載函數(shù)。1. 模板的概已經(jīng)學(xué)過重載(Ov
3、erloading),對重載函數(shù)而言,C+的檢查機(jī)制能通過函數(shù)參數(shù)的不同及所類的不同。正確的調(diào)用重載函數(shù)。例如,為求兩個(gè)數(shù)的最大值定義 MAX()函數(shù)需要對不/函數(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ù)類型可以包請看以下程序#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簡介 STL 的代碼從廣義上講分為三類:algorithm(算法、container(容器)和 iterator(迭標(biāo)準(zhǔn)模板庫STL簡介 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. 對list隨3.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 超高壓輸電線舞動(dòng)監(jiān)測裝置安裝合同二零二五
- 2024監(jiān)理工程師考試必考考點(diǎn)試題及答案
- 2024人力資源管理師考試的時(shí)間管理試題及答案
- 學(xué)生安全防范意識(shí)教育
- 黑龍江省伊春市嘉蔭縣第一中學(xué)2025屆高考原創(chuàng)信息試卷語文試題(二)含解析
- 植物的光合反應(yīng)機(jī)制分析試題及答案
- 黑龍江省哈爾濱市保國第二小學(xué)2025屆數(shù)學(xué)三下期末教學(xué)質(zhì)量檢測模擬試題含解析
- 黑龍江省大興安嶺地區(qū)漠河縣2025屆三年級(jí)數(shù)學(xué)第二學(xué)期期末統(tǒng)考模擬試題含解析
- 黑龍江省綏化市明水縣2024-2025學(xué)年數(shù)學(xué)五年級(jí)第二學(xué)期期末達(dá)標(biāo)測試試題含答案
- 黑龍江省雞西市2024-2025學(xué)年數(shù)學(xué)四年級(jí)第二學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 信用風(fēng)險(xiǎn)度量第六章-KMV模型課件
- 小學(xué)硬筆書法課教案(1-30節(jié))
- 基于CAN通訊的儲(chǔ)能變流器并機(jī)方案及應(yīng)用分析報(bào)告-培訓(xùn)課件
- 醫(yī)院清潔消毒與滅菌課件
- 消防安裝工程施工方案Word版
- 軟管管理規(guī)定3篇
- 關(guān)于對領(lǐng)導(dǎo)班子的意見和建議
- 【課件】學(xué)堂樂歌 課件-2022-2023學(xué)年高中音樂人音版(2019)必修音樂鑒賞
- 納布啡在胃腸鏡麻醉中的臨床觀察-課件
- 常用手術(shù)器械手工清洗
- 2022中西醫(yī)執(zhí)業(yè)醫(yī)師實(shí)踐技能疾病對照診斷內(nèi)科
評論
0/150
提交評論