重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的函数同名,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。
#include<iostream>
#include<stdio.h>
using namespace std;
int max(int a,int b)
{
int k;
k=a+b;
return k;
}
float max(float a,float b)
{
float k;
k=a+b;
return k;
}
int main()
{
int max(int a,int b=100);//默认参数
float max(float a,float b);//这里一定要声明一次,要不然后面参数如果是float类型就会出错
printf("%d\n",max(5));//使用了默认参数
printf("%f\n",max((float)0.01,(float)0.03));//为了安全起见,这里一定要加强制转换
return 0;
}
#include<iostream>
#include<stdio.h>
using namespace std;
template<class T1,class T2>
T2 max(T1 a,T2 b)
{
T2 k;
k=a+b;
return k;
}
int main()
{
cout <<max(5,6.1)<<endl;
cout <<max(3.1,6)<<endl;
return 0;
}