所謂函式模板實際上是建立乙個通用函式,其函式型別和引數型別不具體指定,用乙個虛擬的型別來代表,這個通用函式就是函式模板。
凡是函式體相同的函式都可以用這個模板來代替,不必定義多個函式,只需要在模板中定義一次即可。在呼叫函式時,系統會根據實參的型別來取代模板中的虛擬型別,從而實現了不同函式的功能。
例1.實現兩數相加的模板函式
#include #include using namespace std;
template t add(t a, t b)
int main()
int main()
} return maxdata;
}int main()
; double b[10] = ;
char *p = "hello";
cout <
#include #include #include using namespace std;
//通用累加
template t sum(t n, ...)//至少有乙個引數是t型別
va_end(arg_ptr);//結束
return sumres;
}int main()
{ cout << sum(4.0, 1.1, 2.1, 3.1, 4.1) <
C 模板 函式模板和模板函式
1.函式模板的宣告和模板函式的生成 1.1函式模板的宣告 函式模板可以用來建立乙個通用的函式,以支援多種不同的形參,避免過載函式的函式體重複設計。它的最大特點是把函式使用的資料型別作為引數。函式模板的宣告形式為 template 返回型別 函式名 參數列 其中,template是定義模板函式的關鍵字...
C 模板 函式模板和模板函式
1.函式模板的宣告和模板函式的生成 1.1函式模板的宣告 函式模板可以用來建立乙個通用的函式,以支援多種不同的形參,避免過載函式的函式體重複設計。它的最大特點是把函式使用的資料型別作為引數。函式模板的宣告形式為 template 返回型別 函式名 參數列 其中,template是定義模板函式的關鍵字...
C 模板 函式模板和模板函式
1.函式模板的宣告和模板函式的生成 1.1函式模板的宣告 函式模板可以用來建立乙個通用的函式,以支援多種不同的形參,避免過載函式的函式體重複設計。它的最大特點是把函式使用的資料型別作為引數。函式模板的宣告形式為 template 返回型別 函式名 參數列 其中,template是定義模板函式的關鍵字...