關於建構函式的介紹(四) 使用預設引數的建構函式

2021-09-19 13:18:02 字數 802 閱讀 5347

有預設引數的建構函式:建構函式中引數的值既可以通過實參傳遞,也可以指定為某些預設值,即如果使用者不指定實參值,編譯系統就使形參的值為預設值。

一般來說在類中宣告建構函式的時候,給那些帶有形參的變數直接賦予初值,之後,再在類外進行具體函式體的編寫。或者直接在類中進行定義建構函式的的時候,給形參變數指定數值,在類內進行函式體的書寫。

#includeusing namespace std;

class box

;box::box(int h,int w,int len)

int box::volume()

int main()

執行結果是:

the volumme of box1 is:1000

the volumme of box12 is:1500

the volumme of box13 is:4500

the volumme of box14 is:9000

以上**在呼叫過程中首先呼叫了無參的建構函式,系統呼叫預設建構函式,各個形參的取值均取預設值10,

在定義物件只有乙個的時候,只給第乙個賦值為給定值,未指定的還是預設值10,同理,程式都皆如此。

可以看到:在建構函式中使用預設引數是方便而有效的,它提供了建立物件時的多種選擇,它的作用相當於好幾個過載的建構函式。它的好處是:即使在呼叫建構函式的時候,沒有提供實參值,不僅不會出錯,而且還確保按照預設的引數值對物件進行初始化,尤其在希望對每乙個物件都有同樣的初始化的狀況的時候用這種方法更為方便。不需輸入資料,物件會按事先指定的值進行初始化。

C 關於預設建構函式和無參建構函式

預設建構函式 在不提供任何建構函式的情況下,編譯器給出乙個不帶引數的,不包含 的建構函式。include using namespace std classa intmain 當已經提供了顯式的建構函式,例如 include using namespace std classa int main 此...

關於建構函式的預設構造

拷貝建構函式 是用於當乙個 使用者自定義型別的物件 作為函式引數時,系統預設 的拷貝建構函式 不能達到目地,這時需要用到 使用者自己定義 的拷貝建構函式 通常是 類的私有成員裡有起到重要作用的指標變數 當進行函式引數的 值傳遞 時,系統會呼叫 拷貝建構函式 如果沒有 自定義 拷貝建構函式 則系統會呼...

關於無參建構函式

每乙個類中都會有乙個建構函式 這個建構函式可以不寫,系統會自動的預設構造乙個 當函式需要引數時,可以自行編寫乙個有參建構函式 但是如果此時你不再寫乙個無參的建構函式,當需要用new 來初始化物件時,編譯器就會報錯,因為找不到這個無參建構函式 因為此時程式中已經有乙個你早就編寫好的有參建構函式,系統便...