C++ 中函数重载(Function Overloading)是指在同一个作用域内,可以有多个函数具有相同的名称,但是它们的参数列表不同。函数重载的条件如下:
1. 函数名称相同:函数重载的前提是函数名相同。
2. 参数列表不同:函数的参数列表必须不同,包括参数的类型、参数的个数或者参数的顺序。
3. 返回值类型不同:C++ 不允许仅靠返回值类型的不同来实现函数重载。如果两个函数的参数列表和函数名相同,但是返回值类型不同,编译器会报错。
4. const 修饰符:const 修饰符对于函数是否重载没有影响,因为 const 修饰符只是函数签名的一部分,并不影响函数是否重载。
示例:
```cpp
void print(int a);
void print(float a);
void print(double a, double b);
// 上面的例子演示了函数重载,print 函数名称相同,但参数列表不同,因此实现了函数重载。
```
总之,函数重载的条件包括函数名称相同、参数列表不同,在 C++ 中,函数重载实际上是通过改变函数的参数列表来区分不同的函数。