對於帶引數列表的函式,必須從右向左新增預設值
對於帶引數列表的函式,必須從右向左新增預設值,也就是說,要為某個引數設定預設值,則必須為它右邊的所有引數提供預設值。範例:
int fun1(int n, int m = 4, int j = 5); //正確
int fun2(int n, int m = 6, int j); //錯誤
int fun3(int n = 1, int m = 6, int j = 3); //正確
預設引數不能在宣告和定義中同時出現
錯誤使用範例:
宣告:
void fun4(int n = 10);
定義:
void fun4(int n = 10)
正確使用範例:
宣告:
void fun4(int n = 10);
定義:
void fun4(int n)
或者
宣告:
void fun4(int n);
定義:
void fun4(int n = 10)
帶預設引數的函式的宣告、定義及使用
函式可以先宣告後定義再使用;也可以不宣告只定義後使用。
一般情況下我們選擇將預設引數放在函式定義中,這是我們設計函式的初衷,以及保證程式的可讀性。
在實際呼叫過程中,實參按從左到右的順序被賦給相應的形參,而不能跳過任何引數。範例:
val = fun1(2); //等價於 fun1(2,4,5)
val = fun1(1,8); //等價於 fun1(1,8,5)
val = fun1(8,7,6); //等價於 fun1(8,7,6)
val = fun1(3, ,8); //這種呼叫方式有誤,有引數被跳過。
C 中帶預設引數的函式定義及使用總結
對於帶引數列表的函式,必須從右向左新增預設值 對於帶引數列表的函式,必須從右向左新增預設值,也就是說,要為某個引數設定預設值,則必須為它右邊的所有引數提供預設值。範例 int fun1 int n,int m 4,int j 5 正確 intfun2 int n,int m 6,int j 錯誤 i...
帶預設引數的函式
使用帶預設引數的函式時要注意 1 既可以在函式宣告也可以在函式定義中指定預設實參。但是,在乙個檔案中,只能為乙個形參指定預設實參一次。函式最終的預設引數是宣告和定義的合集。下面這樣也是可以的,只是不推薦 int fun int a,int b 5 int fun int a 9,b 2 當函式定義和...
C 中建構函式預設引數使用
一 include using namespace std class box box box int h,int w,int len int box volume int main box box1 1 不指定第2 3個實參 cout box1 s volume 二 執行 root localho...