您好,登錄后才能下訂單哦!
這篇文章主要介紹了C++構(gòu)造函數(shù)之參數(shù)缺省的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
前言:
構(gòu)造函數(shù)中參數(shù)的值既可以通過實(shí)參傳遞,也可以指定為某些默認(rèn)值,即如果用戶不指定實(shí)參值,編譯系統(tǒng)就使形參取默認(rèn)值。在構(gòu)造函數(shù)中也可以采用這樣的方法來實(shí)現(xiàn)初始化。
#include <iostream> using namespace std; class A { public : A(int aa=0,int bb=00); //在聲明構(gòu)造函數(shù)時(shí)指定默認(rèn)參數(shù) int volume( ); int a; int b; }; int main( ) { A obj(4); cout<<obj.a<<" "<<obj.b; return 0; }
程序運(yùn)行結(jié)果為
4 0
可以看到: 在構(gòu)造函數(shù)中使用默認(rèn)參數(shù)是方便而有效的,它提供了建立對(duì)象時(shí)的多種選擇,它的作用相當(dāng)于好幾個(gè)重載的構(gòu)造函數(shù)。
它的好處是: 即使在調(diào)用構(gòu)造函數(shù)時(shí)沒有提供實(shí)參值,不僅不會(huì)出錯(cuò),而且還確保按照默認(rèn)的參數(shù)值對(duì)對(duì)象進(jìn)行初始化。尤其在希望對(duì)每一個(gè)對(duì)象都有同樣的初始化狀況時(shí)用這種方法更為方便。
關(guān)于構(gòu)造函數(shù)默認(rèn)值的幾點(diǎn)說明:
應(yīng)該在聲明構(gòu)造函數(shù)時(shí)指定默認(rèn)值,而不能只在定義構(gòu)造函數(shù)時(shí)指定默認(rèn)值。
程序第5行在聲明構(gòu)造函數(shù)時(shí),形參名可以省略。
如果構(gòu)造函數(shù)的全部參數(shù)都指定了默認(rèn)值,則在定義對(duì)象時(shí)可以給一個(gè)或幾個(gè)實(shí)參,也可以不給出實(shí)參。
在一個(gè)類中定義了全部是默認(rèn)參數(shù)的構(gòu)造函數(shù)后,不能再定義重載構(gòu)造函數(shù)。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“C++構(gòu)造函數(shù)之參數(shù)缺省的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。