1.模板函数的作用
模板函数的作用是定义一个通用类型的函数,以便更好的复用。
假设你需要实现一个两个整数相加的c++函数。最简单最容易想到的是如下方式
//整形加法
int add(int a, int b)
{
return a+b;
}
再写一个浮点数相加的函数,于是复制上面代码
//浮点数加法
float add(float a, float b)
{
return a+b;
}
在写一个整数和浮点数相加的函数???。。。。。
同样的功能不同的参数却要学这么多次,显然不是一个好的方法,还好有模板函数,只需要定义一个模板函数,然后传递不同参数即可。
2.模板函数的定义
template<class T1,class T2,.....,class Tn>//定义用到数据格式T1,T2
Tm functionName(T1 x1,T2 x2,...) //Tm为定义的返回值的类型
{
//函数体
}
下面用模板函数的方式实现不同类型数的相加
#include<iostream>
using namespace std;
template<class T1, class T2>
T2 abc(T1 a,T2 b) //这里返回值为T2类型
{
return a+b;
}
int main(){
int x=1,y=1;
//整形相加
cout<<abc(x,y)<<endl;
float x1=1.10,y1=1.10;
//浮点型相加
cout<<abc(x1,y1)<<endl;
//整形加浮点型
cout<<abc(x,y1)<<endl;
return 0;
}
运行结果图如下: