- 定义:函数的一种特殊情况,允许在同一作用域中声明几个功能类似的同名函数,重载常用来处理实现功能类似数据类型不同的问题
- 分类:
①参数类型不同
//类型不同
int ADD(int a, int b)
{
return a + b;
}
double ADD(double a, double b)
{
return a + b;
}
②参数数量不同
//参数数量不同
int ADD(int a, int b)
{
return a + b;
}
int ADD(int a, int b,int c)
{
return a + b + c;
}
③参数顺序不同
//不同类型参数传参顺序不同
double ADD(double a, int b)
{
return a + b;
}
double ADD(int a, double b)
{
return a + b;
}
调用结果:
- 以下情况不属于重载
①返回值不同不能构成重载
//返回值不同,不构成重载
int ADD(int a, int b)
{
return a + b;
}
void ADD(int a, int b)
{
cout << a + b;
}
②缺省不构成重载
//缺省,不构成重载
int ADD(int a, int b)
{
return a + b;
}
int ADD(int a, int b = 1)
{
return a + b;
}