欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++ explicit關(guān)鍵字的使用詳解

 更新時(shí)間:2021年09月10日 15:31:55   作者:一世流離  
這篇文章主要介紹了C++ explicit關(guān)鍵字的使用詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

在C++中,我們有時(shí)可以將構(gòu)造函數(shù)用作自動(dòng)類型轉(zhuǎn)換函數(shù)。但這種自動(dòng)特性并非總是合乎要求的,有時(shí)會(huì)導(dǎo)致意外的類型轉(zhuǎn)換,因此,C++新增了關(guān)鍵字explicit,用于關(guān)閉這種自動(dòng)特性。即被explicit關(guān)鍵字修飾的類構(gòu)造函數(shù),不能進(jìn)行自動(dòng)地隱式類型轉(zhuǎn)換,只能顯式地進(jìn)行類型轉(zhuǎn)換。

注意:只有一個(gè)參數(shù)的構(gòu)造函數(shù),或者構(gòu)造函數(shù)有n個(gè)參數(shù),但有n-1個(gè)參數(shù)提供了默認(rèn)值,這樣的情況才能進(jìn)行類型轉(zhuǎn)換。

下面通過一段代碼演示具體應(yīng)用(無explicit情形):

/* 示例代碼1 */
class Demo
{
   public:
    Demo();                     /* 構(gòu)造函數(shù)1 */
    Demo(double a);              /* 示例代碼2 */
    Demo(int a,double b);           /* 示例代碼3 */
    Demo(int a,int b=10,double c=1.6);  /* 示例代碼4 */
    ~Demo();
    void Func(void);

    private:
    int value1;
    int value2;
};

上述四種構(gòu)造函數(shù):

構(gòu)造函數(shù)1沒有參數(shù),無法進(jìn)行類型轉(zhuǎn)換!

構(gòu)造函數(shù)2有一個(gè)參數(shù),可以進(jìn)行類型轉(zhuǎn)換,如:Demo test; test = 12.2;這樣的調(diào)用就相當(dāng)于把12.2隱式轉(zhuǎn)換為Demo類型。

構(gòu)造函數(shù)3有兩個(gè)參數(shù),且無默認(rèn)值,故無法使用類型轉(zhuǎn)換!

構(gòu)造函數(shù)4有3個(gè)參數(shù),其中兩個(gè)參數(shù)有默認(rèn)值,故可以進(jìn)行隱式轉(zhuǎn)換,如:Demo test;test = 10;  。

下面講述使用了關(guān)鍵字explicit的情況:

/* 示例代碼2 */
class Demo
{
    public:
    Demo();                     /* 構(gòu)造函數(shù)1 */
    explicit Demo(double a);        /* 示例代碼2 */
    Demo(int a,double b);           /* 示例代碼3 */
    ~Demo();
    void Func(void);
    private:
    int value1;
    int value2;
};

在上述構(gòu)造函數(shù)2中,由于使用了explicit關(guān)鍵字,則無法進(jìn)行隱式轉(zhuǎn)換。即:Demo test;test = 12.2;是無效的!但是我們可以進(jìn)行顯示類型轉(zhuǎn)換,如:

Demo test;

test = Demo(12.2); 或者

test = (Demo)12.2;

到此這篇關(guān)于C++ explicit關(guān)鍵字的使用詳解的文章就介紹到這了,更多相關(guān)C++ explicit關(guān)鍵字的使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C/C++中文件的隨機(jī)讀寫詳解及其作用介紹

    C/C++中文件的隨機(jī)讀寫詳解及其作用介紹

    這篇文章主要介紹了C/C++中文件的隨機(jī)讀寫詳解及其作用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • C++標(biāo)準(zhǔn)庫封裝的vector數(shù)組

    C++標(biāo)準(zhǔn)庫封裝的vector數(shù)組

    這篇文章主要介紹了C++標(biāo)準(zhǔn)庫封裝的vector數(shù)組,vector創(chuàng)建的對(duì)象包含眾多封裝好的函數(shù),想了解其相關(guān)資料的小伙伴可以參考下面文章內(nèi)容,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-03-03
  • C++構(gòu)造函數(shù)的類型,淺拷貝與深拷貝詳解

    C++構(gòu)造函數(shù)的類型,淺拷貝與深拷貝詳解

    這篇文章主要為大家詳細(xì)介紹了C++構(gòu)造函數(shù)的類型,淺拷貝與深拷貝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C語言數(shù)組a和&a的區(qū)別講解

    C語言數(shù)組a和&a的區(qū)別講解

    今天小編就為大家分享一篇關(guān)于C語言數(shù)組a和&a的區(qū)別講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • C語言 詳細(xì)分析結(jié)構(gòu)體的內(nèi)存對(duì)齊

    C語言 詳細(xì)分析結(jié)構(gòu)體的內(nèi)存對(duì)齊

    C 數(shù)組允許定義可存儲(chǔ)相同類型數(shù)據(jù)項(xiàng)的變量,結(jié)構(gòu)是 C 編程中另一種用戶自定義的可用的數(shù)據(jù)類型,它允許你存儲(chǔ)不同類型的數(shù)據(jù)項(xiàng),本篇讓我們來了解C 的結(jié)構(gòu)體內(nèi)存對(duì)齊
    2022-03-03
  • 順序線性表的代碼實(shí)現(xiàn)方法

    順序線性表的代碼實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄樞蚓€性表的代碼實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • C語言用函數(shù)實(shí)現(xiàn)反彈球消磚塊

    C語言用函數(shù)實(shí)現(xiàn)反彈球消磚塊

    這篇文章主要為大家詳細(xì)介紹了C語言用函數(shù)實(shí)現(xiàn)反彈球消磚塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C++11新特性std::make_tuple的使用

    C++11新特性std::make_tuple的使用

    這篇文章主要介紹了C++11新特性std::make_tuple的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • C++常見獲取隨機(jī)數(shù)的方法小結(jié)

    C++常見獲取隨機(jī)數(shù)的方法小結(jié)

    這篇文章主要介紹了C++常見獲取隨機(jī)數(shù)的方法,結(jié)合實(shí)例形式總結(jié)分析了C++獲取隨機(jī)數(shù)的幾種常見方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-05-05
  • 一篇文章帶你掌握C++虛函數(shù)的來龍去脈

    一篇文章帶你掌握C++虛函數(shù)的來龍去脈

    虛函數(shù)主要通過V-Table虛函數(shù)表來實(shí)現(xiàn),該表主要包含一個(gè)類的虛函數(shù)的地址表,可解決繼承、覆蓋的問題,下面這篇文章主要給大家介紹了如何通過一篇文章帶你掌握C++虛函數(shù)的來龍去脈,需要的朋友可以參考下
    2022-10-10

最新評(píng)論