最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++之構(gòu)造函數(shù)默認值設(shè)置方式

 更新時間:2023年08月09日 10:09:00   作者:ClassRoom706  
這篇文章主要介紹了C++之構(gòu)造函數(shù)默認值設(shè)置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

C++構(gòu)造函數(shù)默認值設(shè)置

構(gòu)造函數(shù)默認值

C++類中構(gòu)造函數(shù)設(shè)置默認值應(yīng)當注意:

  • C++類構(gòu)造函數(shù)只能對排在最后的參數(shù)提供默認值;
  • 既可以在構(gòu)造函數(shù)的聲明中,也可以在構(gòu)造函數(shù)的實現(xiàn)中,提供缺省值,但,不能在兩者同時提供缺省默認值。

代碼:

#include <iostream>
using namespace std;
class CTest
{
public: ? ?
? ? CTest();
? ? CTest(int _a, double _b, const bool _c = false, bool _d = true);
private:
? ? const bool c;
? ? bool d;
? ? int a;
? ? double b;?
};
CTest::CTest(int _a, double _b = 1.0, const bool _c, ?bool _d):a(_a), b(_b), c(_c), d(_d)
{
? ? cout << a << endl;
? ? cout << b << endl;
? ? cout << c << endl;
? ? cout << d << endl; ?
}
int main()
{
? ? // CTest* test = new CTest(1, 1.0, true, false);
? ? // CTest* test = new CTest(1, 1.0, true);
? ? //CTest* test = new CTest(1, 1.0);
? ? CTest* test = new CTest(1);
? ? return 0;
}

C++構(gòu)造函數(shù)默認參數(shù)使用

一 代碼

#include <iostream>
using namespace std;
class Box{
public:
    Box(int h=2,int w=2,int l=2);//在聲明構(gòu)造函數(shù)時指定默認參數(shù)
    int volume();
private:
    int height,width,length;
};
Box::Box(int h,int w,int len){//在定義函數(shù)時可以不指定默認參數(shù)
    height=h;
    width=w;
    length=len;
}
int Box::volume(){
    return height*width*length;
}
int main(){
    Box box1(1);//不指定第2、3個實參
    cout<<"box1's volume: "<<box1.volume()<<endl;
    Box box2(1,3);// 不指定第3個實參
    cout<<"box2's volume: "<<box2.volume()<<endl;
    Box box3;
    cout<<"box3's volume:"<<box3.volume()<<endl;
    return 0;
}

二 運行

[root@localhost charpter02]# ./0210
box1's volume: 4
box2's volume: 6
box3's volume:8

三 說明

該實戰(zhàn)中,定義了一個帶默認參數(shù)的構(gòu)造函數(shù),是在聲明時指定默認參數(shù),而定義時則可以不指定默認參數(shù)。定義對象時,可以傳0~3個參數(shù),傳了幾個參數(shù),就替換前面的幾個參數(shù),其余都使用默認參數(shù)。

使用默認參數(shù)的好處在于:調(diào)用構(gòu)造函數(shù)時就算沒有提供參數(shù)也不會出錯,且對每一個對象能有相同的初始化狀態(tài)。

不過,應(yīng)該在聲明構(gòu)造函數(shù)默認值時指定默認參數(shù)值,而不能只在定義構(gòu)造函數(shù)時指定默認參數(shù)值。如果構(gòu)造函數(shù)中的參數(shù)全指定了默認值,則在定義對象時,可給一個實參或多個實參,也可不給實參。

一個類中如果定義了全是默認參數(shù)的構(gòu)造函數(shù)后,就不能再定義重載構(gòu)造函數(shù)了。

假設(shè)Box類中定義了3個構(gòu)造函數(shù)

Box(int =10,int=3,int=5);
Box();
Box(int,int);

若有以下定義語句,則會出現(xiàn)問題

Box box1;              //是應(yīng)該調(diào)用第1個構(gòu)造函數(shù)還是應(yīng)該調(diào)用第2個構(gòu)造函數(shù)
Box box2(13,18);        //是應(yīng)該調(diào)用第2個構(gòu)造函數(shù)還是應(yīng)該調(diào)用第3個構(gòu)造函數(shù)

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言用遞歸函數(shù)對素數(shù)進行判斷流程

    C語言用遞歸函數(shù)對素數(shù)進行判斷流程

    素數(shù)判斷是編程語言學習過程中一個老生常談的話題,而它的實現(xiàn)也有多種算法,包括經(jīng)典的試除法(以及試除法的幾種優(yōu)化),進階的素數(shù)表篩選法,埃拉托斯特尼篩法和歐拉篩法(以及它們的優(yōu)化)等。對以上算法感興趣的朋友們,不妨搜索“素數(shù)判斷的N種境界”來學習了解
    2022-09-09
  • MongoDB?C?驅(qū)動程序安裝(libmongoc)?和?BSON?庫(libbson)方法

    MongoDB?C?驅(qū)動程序安裝(libmongoc)?和?BSON?庫(libbson)方法

    這篇文章主要介紹了安裝?MongoDB?C?驅(qū)動程序?(libmongoc)?和?BSON?庫?(libbson),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • C語言實現(xiàn) 數(shù)據(jù)類型占多少字節(jié)指針占多少字節(jié)

    C語言實現(xiàn) 數(shù)據(jù)類型占多少字節(jié)指針占多少字節(jié)

    這篇文章主要介紹了 C語言 數(shù)據(jù)類型占多少字節(jié)指針占多少字節(jié)的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • C語言通過深度優(yōu)先搜索來解電梯問題和N皇后問題的示例

    C語言通過深度優(yōu)先搜索來解電梯問題和N皇后問題的示例

    深度優(yōu)先搜索即是對一個新發(fā)現(xiàn)的節(jié)點上如果還關(guān)聯(lián)未探測到的邊,就沿此邊探測下去,直到發(fā)現(xiàn)從原點可達的所有點為止,這里我們就來展示C語言通過深度優(yōu)先搜索來解電梯問題和N皇后問題的示例
    2016-06-06
  • 關(guān)于C++中數(shù)據(jù)16進制輸出的方法

    關(guān)于C++中數(shù)據(jù)16進制輸出的方法

    本文主要介紹了關(guān)于C++中數(shù)據(jù)16進制輸出的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • C++控制臺實現(xiàn)密碼管理系統(tǒng)

    C++控制臺實現(xiàn)密碼管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C++控制臺實現(xiàn)密碼管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Visual C++中MFC消息的分類

    Visual C++中MFC消息的分類

    標準(窗口)消息:窗口消息一般與窗口內(nèi)部運作有關(guān),如創(chuàng)建窗口,繪制窗口,銷毀窗口,通常,消息是從系統(tǒng)發(fā)到窗口,或從窗口發(fā)到系統(tǒng)
    2012-11-11
  • Qt音視頻開發(fā)之利用ffmpeg實現(xiàn)倍速播放

    Qt音視頻開發(fā)之利用ffmpeg實現(xiàn)倍速播放

    這篇文章主要為大家詳細介紹了在Qt音視頻開發(fā)中如何利用ffmpeg實現(xiàn)倍速播放功能(半倍速/2倍速/4倍速/8倍速),感興趣的小伙伴可以了解一下
    2022-11-11
  • C語言實現(xiàn)輸入兩個數(shù)字將其按從小到大輸出的方法

    C語言實現(xiàn)輸入兩個數(shù)字將其按從小到大輸出的方法

    這篇文章主要介紹了C語言實現(xiàn)輸入兩個數(shù)字將其按從小到大輸出的方法,本文通過代碼講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • C語言如何求整數(shù)的位數(shù)及各位數(shù)字之和

    C語言如何求整數(shù)的位數(shù)及各位數(shù)字之和

    這篇文章主要介紹了C語言如何求整數(shù)的位數(shù)及各位數(shù)字之和,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評論

通辽市| 行唐县| 西峡县| 泗水县| 汾西县| 兰坪| 新化县| 邹平县| 南京市| 乌兰察布市| 临夏县| 张家港市| 屏东县| 古丈县| 彰化县| 南康市| 贞丰县| 洛浦县| 张北县| 嘉兴市| 安吉县| 苍南县| 曲阳县| 山阴县| 白银市| 益阳市| 内江市| 雅江县| 射洪县| 龙里县| 湛江市| 库伦旗| 合作市| 威海市| 高台县| 泸州市| 木兰县| 革吉县| 阳城县| 新津县| 宁夏|