C 建構函式預設的引數宣告

2021-09-07 03:21:32 字數 620 閱讀 2808

c++函式的預設引數指的是在函式宣告或者定義時給形式引數指定預設值,從而在呼叫引數時可以少寫引數,少掉的引數用預設值代替。lz的display()函式的**看起來似乎是可以有s2和s3兩個預設引數,那麼此函式的宣告寫法就是

void display(string s1, string s2 = "", string s3 = "");

那麼s2和s3都是帶有預設值的預設引數,以下的函式呼叫都是正確的寫法

1、 display("abc", "123");

2、display("abc");

3、display("abc","123","***");

具體呼叫時缺少的引數將取它們的預設值。

注意:1、函式的預設引數只能指定一次,所以一般是在宣告中;

2、宣告中的任何乙個預設引數右邊的引數都必須全部是預設引數,也就是預設引數必須從最右邊開始連續指定;

3、呼叫時任何乙個給出值的引數左邊的引數都必須全部給出具體值,也就是從左邊開始連續給出引數值,不能隔空跳過。

注意:兩個地方都需要申明引數,但是在類中申明建構函式時候需要引數預設值,如:

class x

在實現時候不需要再給出預設值:

x::x(int a)

建構函式的引數預設

建構函式中引數的值既可以通過實參傳遞,也可以指定為某些預設值,即如果使用者不指定實參值,編譯系統就使形參取預設值。在建構函式中也可以採用這樣的方法來實現初始化。include using namespace std class a int main 程式執行結果為 4 0可以看到 在建構函式中使用預...

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

C 中關於預設建構函式和預設引數

include using namespace std class time time int s,int h 10,int m 52 time int h,int m,int s hour h minute m sec s 過載建構函式,執行時會根據形參的不同,自動匹配呼叫 類的初始化資料成員的另...