Ⅰ 函数默认参数
在C++中函数的形参列表中形参是可以有默认值的。
语法:返回值类型 函数名(数据类型 参数=默认值);
示例:
int max(int a=1,int b=2);
注意:
- 如果在参数列表中的某个参数有默认参数,那么从这个位置往后的参数都必须要有默认参数。
- 声明和实现只能出现一次默认参数。当声明有默认参数时,实现中不可以有默认参数;实现有默认参数时,声明中不可以有默认参数。
Ⅱ 函数占位参数
在C++中函数的参数列表里可以有占位参数,用来占位置,但函数调用时必须补全。在声明和实现中都可以写。
语法:返回值类型 函数名(数据类型);
示例:
int add(int,int);
注意:只写数据类型,不需要写参数名。但如果在函数实现的参数列表中写占位参数是无法获取数值的。
Ⅲ 函数重载
作用:函数名可以相同,提高复用性。
在C++中的重载也是一个特性,不仅可以发生函数重载,符号也可以发生重载。这样可以大大的提高复用性,可以避免一些冗余的代码。
函数重载的满足条件:
- 必须在同一个作用域下
- 函数名称相同
- 函数参数类型不同,参数个数不同,顺序不同。
注意:函数的返回值不可以作为函数重载的条件。
示例:
//函数重载
int max(int a,int b);
//重载1
double max(double a,double b);
//重载二
int max(double a,int b);
函数重载注意事项:
- 引用作为重载条件
- 函数重载碰到函数默认参数。
当函数重载碰到默认参数时,会出现二义性,尽量避免这种情况出现。