函数重载
- 函数重载是指在一个程序中,可以定义多个具有相同函数名,不同参数列表的函数(至少参数的类型或参数个数或参数类型的顺序不同)。这些的函数被称为重载函数
- 当调用一个重载函数时,编译系统将通过检查函数调用中的实参个数、类型和顺序来选择恰当的函数
- 重载函数通常用于实现功能类似而所处理的数据类型不同的问题
优点
函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染,对于程序的可读性有很大的好处
例子
例1:形参个数相同但是类型不同的函数重载
使用函数重载编写求一个整数和一个双精度数的绝对值的函数
int Abs(int x)
{
return x>=0?x:-x;
}
double Abs(double x)
{
return x>=0?x:-x;
}
int main()
{
int a=-3;
double b=35.5;
cout<<Abs(a)<<endl; // 3
cout<<Abs(b)<<endl; // 33.5
return 0;
}
例2:形参类型相同但是个数不同的函数重载
使用函数重载编写求两个、三个以及四个整数的和的函数。
int add(int x,int y)
{
int sum;
sum=x+y ;
return sum;
}
int add(int x,int y,int z)
{
int sum;
sum=x+y+z ;
return sum;
}
int add(int x,int y,int z,int t)
{
int sum;
sum=x+y+z +t;
return sum;
}
int main()
{
cout<<add(3,5)<<endl; // 8
cout<<add(3,5,7)<<endl; // 15
cout<<add(3,5,7,9)<<endl; // 24
return 0;
}