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++程序設計程序設計

相關文章
相關標籤/搜索