函数重载需要满足两个条件
1.函数名相同
2.参数不同(参数类型或数量不同,满足其一即可)
运行时自动选择对应匹配的数据类型
例
float mi(int m,int n)
{
if(m>n)
{
m=n;
}
return m;
}
float mi(int m,float n)
{
if(m>n)
{
m=n;
}
return m;
}
若数据为3,4选择上面的程序运行
若数据为3,4.5选择下面的程序运行
若数据为3.1,4.5语法错误
若输入数据能同时使用两个程序运行,则产生二异性,语法错误
注意,在声明处给默认值时,从右向左,右边没有默认值时,左边没有权利获得
例如
float mi(float m,float n); 正确
float mi(float m=3.2,float n=2.3); 正确
float mi(float m=3.2,float n); 错误
在主函数运行程序时,没有默认值的参数必须给值,且给值遵循从左到右
例
float mi(float m,float n=2.2);
int main()
{
cout<<mi(3.3)
}
输出为3.3 2.2
int main()
{
cout<<mi(3.3,4.4)
}
输出为3.3 4.4
int main()
{
cout<<mi()
}
语法错误