C++缺省参数

为何要有这玩意

在扩充函数功能时,不用修改以前的调用代码函数

// 只能花半径为radius的圆,颜色为黑色
void drawCircle(int radius) {
    // draw
}
--- 修改上面的代码而不是重载 ---
// 能够指定颜色,默认color为1,也就是黑色
// 假若有地方是这样调用的drawCircle(1),那么它会相等于drawCircle(1, 1)
void drawCircle(int radius, int color = 1) {
    // draw
}

用法

定义函数的时候可让最右边的连续若干个参数有缺省值设计

定义code

// 正确
void func( int x1, int x2 = 2, int x3 = 3) {
    
}
// 错误,带缺失值的参数必须放在最右边
void func( int x1, int x2 = 2, int x3) {
    
}

调用get

func(10) ; //等效于 func(10,2,3)
func(10,8) ; //等效于 func(10,8,3)
func(10, , 8) ; //不行,中间不能跳过

参考:C++程序设计程序设计

相关文章
相关标签/搜索