久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

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

這篇文章主要介紹了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)搜索html5模板網(wǎng)以前的文章希望大家以后多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

這篇文章主要介紹了++ 設(shè)計(jì)模式的基本原則,主要的目標(biāo)是實(shí)現(xiàn)最終目的,高內(nèi)聚,低耦合,開放封閉原則類的改動(dòng)是通過增加代碼進(jìn)行的,感興趣的小伙伴可參考下面文章的具體內(nèi)容
這篇文章主要介紹了C++基于OpenCV手勢識(shí)別的實(shí)現(xiàn)源碼,這里用到背景減法模型知識(shí),具體實(shí)例代碼跟隨小編一起看看吧
下面小編就為大家?guī)硪黄钊肜斫鈉++指針的指針和指針的引用。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考,一起跟隨小編過來看看吧
C++ 提供了異常機(jī)制,讓我們能夠捕獲運(yùn)行時(shí)錯(cuò)誤,本文就詳細(xì)的介紹了C++異常處理入門,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
這篇文章主要給大家介紹了關(guān)于C/C++中的內(nèi)存模型和名稱空間詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用c/c++具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來
推箱子想必是很多人童年時(shí)期的經(jīng)典游戲,我們依舊能記得抱個(gè)老人機(jī)娛樂的場景,下面這篇文章主要給大家介紹了關(guān)于如何利用c++寫一個(gè)簡單的推箱子小游戲的相關(guān)資料,需要的朋友可以
主站蜘蛛池模板: 亚洲成人黄色 | 日本国产视频 | 国产高清视频在线 | 国产精品久久久久久久久久久久午夜片 | 久久久九九 | 免费午夜视频 | 日韩免费视频 | 黄色网址在线免费观看 | 欧美综合视频 | 综合一区二区三区 | 国产色站| 久久久黄色片 | 精品久久久久久久久久久久 | 天天综合av| 日韩色网站 | 欧美一级黄色录像 | 99午夜| 中文在线免费观看 | 久久久精品在线 | a级黄毛片 | 国产黄色av | 黄色片毛片 | 国产三级久久 | 欧美日韩小视频 | 国产精品三| 在线观看国产黄色 | 五月天黄色网址 | 欧美区在线 | 精品欧美黑人一区二区三区 | 欧美顶级黄色大片免费 | 久久精品一区二区三区四区五区 | 午夜美女福利视频 | 欧美日韩视频 | 五月激情网站 | 欧美一区二区三区的 | 欧美黄色免费 | 黄色一级片网站 | 中文字幕在线不卡 | 一本色道久久综合亚洲精品酒店 | 亚洲九九九 | 黄色片91 |