国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++ 函數模板

2019-11-08 02:57:37
字體:
來源:轉載
供稿:網友

函數重載功能實現了一個函數名的重復定義,但是即使是這樣,在程序中仍然需要分別定義每一個函數,如下連接: http://blog.csdn.net/chaipp0607/article/details/55281496

為了解決這個問題,C++提供了函數模板。所謂函數模板,實際上是建立一個通用的函數,其函數的類型和形參類型不具體指定,用一個虛擬的類型來代替。這個通用函數就稱為函數模板。 凡是函數體相同的函數都可以用這個模板來代替,不比定義多個函數,只。須在模板中定義一次即可。在調用函數時系統(tǒng)會根據實參的類型來取代模板中的虛擬類型,從而實現不同的函數功能。

定義函數模板的一般形式:

template <typename T>

或者:

template <class T>

T為虛擬的類型名,class和typename的作用相同,都表示“類型名”,可以互換。

#include <iostream> using namespace std; template <typename T>T max_PRivate(T a,T b){ if (b>a) a=b; return a;}int main( ) { int i =1; int j =2; int m; double q =1.1; double w =2.2; double e; m = max_private(i,j); e = max_private(q,w); cout <<m<<endl; cout <<e<<endl; getchar(); return 0; }

運行結果: 2 2.2

注意,函數模板只適用于與函數體相同,函數的參數個數相同,類型不同的情況。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 玛多县| 类乌齐县| 定西市| 页游| 高安市| 韶山市| 璧山县| 清苑县| 鄂州市| 府谷县| 阳泉市| 乌拉特中旗| 英吉沙县| 安乡县| 醴陵市| 赤水市| 大荔县| 台南市| 枣庄市| 邵阳县| 福建省| 泰顺县| 中超| 类乌齐县| 邢台市| 慈溪市| 马尔康县| 卢龙县| 汪清县| 清新县| 繁峙县| 清流县| 紫阳县| 呈贡县| 万盛区| 高安市| 田林县| 延长县| 都兰县| 搜索| 安国市|