在函数体书写过程中,总会有这样的需求:函数功能一致,但中间可以根据输入的参数进行判断、执行。
由于代码内容大体一致,所以也没有必要去写重载函数,增加代码量,所以就想到了缺省参数的函数的方法实现该功能。
原理也不会讲,直接上代码:
//函数体
int f(int i1 = 1, int i2 =2, int i3 = 3);
//调用函数 f()
f(); //正确, i1=1, i2=2, i3=3
f(3); //正确, i1=3, i2=2, i3=3
f(2, 3); //正确, i1=2, i2=3, i3=3
f(4, 5, 6); //正确, i1=4, i2=5, i3=6
f(, 2, 3); //错误, i1默认,其右边的i2和i3没有默认
注意:一般形参都放在左侧,缺省的放在右侧,可以有多个,但不能跳过去写下一个缺省参数,得都写出来。
在类中,函数的声明和实现分别放在了不同的文件中,所以,缺省的参数赋值的过程应该放在声明函数里,在实现函数中不予体现,否则会报“重定义”的错误。
声明:
实现:
调用: