条件之一
1.)参数的个数不同 2)类型不同
注意:
1)定义的重载函数必须具有不同的参数个数或不同的参数类型
2)仅仅是函数返回值不同并不能区分两个函数,因此不能根据函数的返回值定义函数的重载
3)函数返回值类型可同可不同
4)不允许参数个数和类型都相同而返回值类型不同
参数个数相同二类型不同
#include<iostream>
using namespace std;
int max(int a,int b,int c)
{
if(b>a) a=b;
if(c>a) a=c;
return a;
}
float max(float a,float b,float c)
{
if(b>a) a=b;
if(c>a) a=c;
return a;
}
long max(long a,long b,long c)
{
if(b>a) a=b;
if(c>a) a=c;
return a;
}
int main()
{
int a,b,c;
float d,e,f;
long g,h,i;
cin>>a>>b>>c;
cin>>d>>e>>f;
cin>>g>>h>>i;
int m,n,p;
m=max(a,b,c);
cout<<"max i="<<m<<endl;
m=max(d,e,f);
cout<<"max i="<<n<<endl;
p=max(g,h,i);
cout<<"max i="<<p<<endl;
return 0;
}
参数个数不同
#include<iostream>
using namespace std;
int max(int a,int b,int c)
{
if(b>a) a=b;
if(c>a) a=c;
return a;
}
int max(int a,int b)
{
if(a>b) return a;
else return b;
}
int main()
{
int a=7,b=-4,c=9;
cout<<max(a,b,c)<<endl;
cout<<max(a,b)<<endl;
return 0;
}