函数模板:
函数模板:参数个数相同,类型不同
函数体相同
注意两点:
- 函数模板定义语句的作用域仅仅对于下一行代码
- 如果函数模板的定义与声明分开写,则定义与声明前面均需要添加模板的定义语句
#include<iostream>
using namespace std;
template <typename T>//模板定义语句作用域仅对下一行
T max (T,T,T);
template <typename T>
T min (T a,T b,T c){
if (a>b) a = b;
if (a>c) a = c;
return a;
}
int main(){
int a = 5;
int b = 6;
int c = 7;
int i = max(a,b,c);
cout<<i<<endl;
cout<<min(a,b,c)<<endl;
system("pause");
return 0;
}
//如果定义与声明分开写,需要在定义和声明前都加上模板定义语句
template <typename T>
T max (T a,T b,T c){
if (a<b) a = b;
if (a<c) a = c;
return a;
}