重载
函数重载(Function Overloading)是指在同一作用域内,可以定义多个名称相同但参数列表(参数类型、参数个数或参数顺序)不同的函数。编译器会根据调用时提供的参数类型和个数来判断应该调用哪个函数。
条件
- 函数名必须相同。
- 参数类型、参数个数或参数顺序必须至少有一项不同。
- 函数的返回类型可以相同也可以不同。
示例
// 函数1int add(int a, int b);// 函数2int add(int a, int b, int c);// 函数3// int add(int a, int b, int c = 10);// 函数4// float add(int a, int b);// 函数5float add(float a, float b);
- 函数1、2、5属于重载
- 如果打开函数3,虽然参数c为默认,但与函数2冲突
- 如果打开函数4,则与函数1 冲突