C 中帶預設引數的函式定義及使用總結

2021-10-05 01:15:54 字數 1132 閱讀 8628

對於帶引數列表的函式,必須從右向左新增預設值

對於帶引數列表的函式,必須從右向左新增預設值,也就是說,要為某個引數設定預設值,則必須為它右邊的所有引數提供預設值。範例:

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...