



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第C++函數(shù)模板的使用詳解函數(shù)模板可以適用泛型來定義函數(shù),其中泛型可以是(int,double,float)等替換。在函數(shù)重載過程中,通過將類型作為參數(shù)傳遞給模板,可使編譯器自動產(chǎn)生該類型的函數(shù)。
工作原理:比如需要定義一個比大小的max函數(shù),有三種類型的數(shù)據(jù)(int,double,float),可能就需要編寫三個函數(shù),這樣既浪費時間,且容易出錯。如:
#includeiostream
usingnamespacestd;
intMax(inta,intb);
doubleMax(doublex,doubley);
floatMax(floats,floatt);
intmain()
coutMax(1,2)endl;
coutMax(3.0,4.0)endl;
coutMax(5.23,5.24)endl;
return0;
intMax(inta,intb)
returnaba:b;
doubleMax(doublex,doubley)
returnxyx:y;
floatMax(floats,floatt)
returnsts:t;
}
結(jié)果如下:
從上面就可以看出一個很簡單的比較大小的函數(shù),居然寫的這么繁瑣,顯然增加了工作量,極大降低了工作效率,因此,函數(shù)模板的出現(xiàn)十分有效的解決了這個問題。函數(shù)模板允許以任意類型的方式定義函數(shù),有兩種形式例如:
形式1:
templatetypenameAnytype//template是函數(shù)模板的關(guān)鍵字
voidSwap(Anytypea,Anytypeb)
Anytypetemp;
temp=a;
a=b;
b=temp;
}
形式2:
templateclassAnytype//class是函數(shù)模板的關(guān)鍵字
voidSwap(Anytypea,Anytypeb)
Anytypetemp;
temp=a;
a=b;
b=temp;
}
使用函數(shù)模板之后的代碼如下:
形式1:
#includeiostream
usingnamespacestd;
templatetypenameT
TMax(Ta,Tb);
/*doubleMax(doublex,doubley);
floatMax(floats,floatt);*/
intmain()
coutMax(1,2)endl;
coutMax(3.0,4.0)endl;
coutMax(5.23,5.24)endl;
return0;
templatetypenameT
TMax(Ta,Tb)
returnaba:b;
}
形式2:
#includeiostream
usingnamespacestd;
templateclassT
TMax(Ta,Tb);
intmain()
coutMax(1,2)endl;
coutMax(3.0,4.0)endl;
coutMax(5.23,5.24)endl;
return0;
templatec
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CECS 10205-2022廚房用油煙凈化裝置
- T/CECS 10001-2017用于混凝土中的防裂抗?jié)B復合材料
- T/CCOA 1-2019濃香菜籽油
- T/CCMA 0175-2023移動工作站
- T/CCMA 0133-2022高爾夫球車
- T/CCMA 0087-2020全斷面隧道掘進機狀態(tài)監(jiān)測與評估
- T/CATCM 027-2023中藥固體廢棄物制備有機肥技術(shù)規(guī)范
- T/CAQI 85-2019空氣凈化器智能模式技術(shù)要求及試驗方法
- T/CAQI 135-2020產(chǎn)品質(zhì)量鑒定程序規(guī)范機械設(shè)備的特殊要求
- 招銀科技成都java面試題及答案
- 前懸掛整稈式甘蔗收割機雙刀盤切割與喂入裝置設(shè)計與試驗的中期報告
- 《林業(yè)科普知識》課件
- 國開電大操作系統(tǒng)-Linux系統(tǒng)使用-實驗報告
- 《小學生C++創(chuàng)意編程》第3單元課件 選擇結(jié)構(gòu)
- 《古代的村落、集鎮(zhèn)和城市》統(tǒng)編版161
- KROHNE 轉(zhuǎn)子流量計產(chǎn)品介紹 2022
- 廣播員培訓材料
- 體育中國學習通章節(jié)答案期末考試題庫2023年
- 呼吸康復呼吸肌訓練課件
- 愛國教育勿忘國恥!九一八事變(課件)-小學生主題班會通用版
- 中小學鐵路安全知識主題教育課件
評論
0/150
提交評論