新聞中心
C++代碼更多地靠第三方的庫(kù)來(lái)實(shí)現(xiàn)這些功能,因?yàn)镃++是一個(gè)國(guó)際標(biāo)準(zhǔn),要在C++中加入這些語(yǔ)言之外的、面向應(yīng)用的特性還需要很長(zhǎng)一段路要走,希望本文能教會(huì)你更多東西。

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到合陽(yáng)網(wǎng)站設(shè)計(jì)與合陽(yáng)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋合陽(yáng)地區(qū)。
我們已經(jīng)學(xué)過(guò)重載,對(duì)重載函數(shù)而言,C++的檢查機(jī)制能通過(guò)函數(shù)參數(shù)的不同及所屬類的不同,正確的調(diào)用重載函數(shù)。
例如,為求兩個(gè)數(shù)的***值,我們定義max()函數(shù)需要對(duì)不同的數(shù)據(jù)類型分別定義不同重載版本。
- int max(int x,int y);
- {
- return(x>y)?x:y ;
- }
- float max( float x,float y)
- {
- return (x>y)? x:y ;
- }
- double max(double x,double y)
- {
- return (c>y)? x:y ;
- }
現(xiàn)在,我們?cè)僦匦聦徱暽鲜龅膍ax()函數(shù),它們都具有同樣的功能,即求兩個(gè)數(shù)的***值,能否只寫一套代碼解決這個(gè)問(wèn)題呢?這樣就會(huì)避免因重載函數(shù)定義不全面而帶來(lái)的調(diào)用錯(cuò)誤。
為解決上述問(wèn)題C++代碼引入模板機(jī)制,模板定義:模板就是實(shí)現(xiàn)代碼重用機(jī)制的一種工具,它可以實(shí)現(xiàn)類型參數(shù)化,即把類型定義為參數(shù),從而實(shí)現(xiàn)了真正的代碼可重用性。
模板分類:模板分為函數(shù)模板和模板函數(shù),當(dāng)編譯系統(tǒng)發(fā)現(xiàn)了一個(gè)對(duì)應(yīng)的函數(shù)調(diào)用時(shí),將根據(jù)實(shí)參的類型來(lái)確認(rèn)是否匹配函數(shù)模板中對(duì)應(yīng)的形參然后生成一個(gè)重載函數(shù),稱該重載函數(shù)為模板函數(shù)。
函數(shù)模板與模板函數(shù)的區(qū)別: 二者區(qū)別可以類比 類與對(duì)象的區(qū)別。函數(shù)模板與類相似是模板的定義,而模板函數(shù)與對(duì)象相似,是函數(shù)模板的實(shí)例,具有程序代碼,占用內(nèi)存空間。#t#
同樣,在說(shuō)明了一個(gè)類模板后,也可以創(chuàng)建類模板的實(shí)例即生成模板類。類模板與模板類的區(qū)別是:類模板是模板的定義,不是一個(gè)實(shí)在的類,模板類才是實(shí)實(shí)在在的類。
程序分析:main()函數(shù)中定義了兩個(gè)整型變量n1 , n2 兩個(gè)雙精度類型變量d1 , d2然后調(diào)用min( n1, n2); 即實(shí)例化函數(shù)模板T min(T x, T y)其中T為int型,求出n1,n2中的最小值.同理調(diào)用min(d1,d2)時(shí),求出d1,d2中的最小值。
新聞名稱:技術(shù)人員講述C++代碼編輯及技巧說(shuō)明
文章出自:http://fisionsoft.com.cn/article/dphoeep.html


咨詢
建站咨詢
