1.重载函数——两个以上的函数取相同的函数名,但是函数形参的个数或者类型不同。
例如
int add(int x,int y)
{
return x+y;
}
float add(float x,float y)
{
return x+y;
}
2.函数模版
观察上述代码可知,这两个函数除了返回类型与参数类型不一致,其他功能完全相同,因此可以写一段通用的代码适用于多种不同的数据类型,代码的复用性与开发效率也会提高。这就要函数模板来实现了。
template <typename T>
T add(T x,T y)
{
return x+y;
}
使用时
int main()
{
int x = 5,y = 3;
float c = 2.1, d = 1.3;
cout << add(x,y) << endl;
cout << add(c,d) << endl;
return 0;
}
add(x,y)时自动调用int add(int x,int y),add(c,d)时自动调用float(float x,float y)。