pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

C++ explicit關鍵字的使用詳解

這篇文章主要介紹了C++ explicit關鍵字的使用詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下

在C++中,我們有時可以將構造函數用作自動類型轉換函數。但這種自動特性并非總是合乎要求的,有時會導致意外的類型轉換,因此,C++新增了關鍵字explicit,用于關閉這種自動特性。即被explicit關鍵字修飾的類構造函數,不能進行自動地隱式類型轉換,只能顯式地進行類型轉換。

注意:只有一個參數的構造函數,或者構造函數有n個參數,但有n-1個參數提供了默認值,這樣的情況才能進行類型轉換。

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


/* 示例代碼1 */
class Demo
{
   public:
    Demo();                     /* 構造函數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;
};

上述四種構造函數:

構造函數1沒有參數,無法進行類型轉換!

構造函數2有一個參數,可以進行類型轉換,如:Demo test; test = 12.2;這樣的調用就相當于把12.2隱式轉換為Demo類型。

構造函數3有兩個參數,且無默認值,故無法使用類型轉換!

構造函數4有3個參數,其中兩個參數有默認值,故可以進行隱式轉換,如:Demo test;test = 10;  。

下面講述使用了關鍵字explicit的情況:


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

在上述構造函數2中,由于使用了explicit關鍵字,則無法進行隱式轉換。即:Demo test;test = 12.2;是無效的!但是我們可以進行顯示類型轉換,如:


Demo test;

test = Demo(12.2); 或者

test = (Demo)12.2;

到此這篇關于C++ explicit關鍵字的使用詳解的文章就介紹到這了,更多相關C++ explicit關鍵字的使用內容請搜索html5模板網以前的文章希望大家以后多多支持html5模板網!

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

相關文檔推薦

這篇文章主要介紹了++ 設計模式的基本原則,主要的目標是實現最終目的,高內聚,低耦合,開放封閉原則類的改動是通過增加代碼進行的,感興趣的小伙伴可參考下面文章的具體內容
這篇文章主要介紹了C++基于OpenCV手勢識別的實現源碼,這里用到背景減法模型知識,具體實例代碼跟隨小編一起看看吧
下面小編就為大家帶來一篇深入理解c++指針的指針和指針的引用。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考,一起跟隨小編過來看看吧
C++ 提供了異常機制,讓我們能夠捕獲運行時錯誤,本文就詳細的介紹了C++異常處理入門,具有一定的參考價值,感興趣的小伙伴們可以參考一下
這篇文章主要給大家介紹了關于C/C++中的內存模型和名稱空間詳解,文中通過示例代碼介紹的非常詳細,對大家學習或者使用c/c++具有一定的參考學習價值,需要的朋友們下面隨著小編來
推箱子想必是很多人童年時期的經典游戲,我們依舊能記得抱個老人機娛樂的場景,下面這篇文章主要給大家介紹了關于如何利用c++寫一個簡單的推箱子小游戲的相關資料,需要的朋友可以
主站蜘蛛池模板: bng防爆挠性连接管-定做金属防爆挠性管-依客思防爆科技 | 众能联合-提供高空车_升降机_吊车_挖机等一站工程设备租赁 | 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 申江储气罐厂家,储气罐批发价格,储气罐规格-上海申江压力容器有限公司(厂) | 预制直埋蒸汽保温管-直埋管道-聚氨酯发泡保温管厂家 - 唐山市吉祥保温工贸有限公司 | 智能案卷柜_卷宗柜_钥匙柜_文件流转柜_装备柜_浙江福源智能科技有限公司 | 皮带机-带式输送机价格-固定式胶带机生产厂家-河南坤威机械 | 废旧物资回收公司_广州废旧设备回收_报废设备物资回收-益美工厂设备回收公司 | 跨境物流_美国卡派_中大件运输_尾程派送_海外仓一件代发 - 广州环至美供应链平台 | 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 合肥制氮机_合肥空压机厂家_安徽真空泵-凯圣精机 | 圆周直径尺-小孔内视镜-纤维研磨刷-东莞市高腾达精密工具 | YT保温材料_YT无机保温砂浆_外墙保温材料_南阳银通节能建材高新技术开发有限公司 | 电动垃圾车,垃圾清运车-江苏速利达机车有限公司 | 华中线缆有限公司-电缆厂|电缆厂家|电线电缆厂家 | 宁波普瑞思邻苯二甲酸盐检测仪,ROHS2.0检测设备,ROHS2.0测试仪厂家 | 模切之家-专注服务模切行业的B2B平台!| 【孔氏陶粒】建筑回填陶粒-南京/合肥/武汉/郑州/重庆/成都/杭州陶粒厂家 | 金环宇|金环宇电线|金环宇电缆|金环宇电线电缆|深圳市金环宇电线电缆有限公司|金环宇电缆集团 | 圆窗水平仪|伊莉莎冈特elesa+ganter | 上海小程序开发-上海小程序制作公司-上海网站建设-公众号开发运营-软件外包公司-咏熠科技 | 全自动端子机|刺破式端子压接机|全自动双头沾锡机|全自动插胶壳端子机-东莞市傅氏兄弟机械设备有限公司 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | 厌氧反应器,IC厌氧反应器,厌氧三相分离器-山东创博环保科技有限公司 | 浙江寺庙设计-杭州寺院设计-宁波寺庙规划_汉匠 | 香蕉筛|直线|等厚|弧形|振动筛|香蕉筛厂家-洛阳隆中重工 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折! | 广西资质代办_建筑资质代办_南宁资质代办理_新办、增项、升级-正明集团 | 橡胶接头|可曲挠橡胶接头|橡胶软接头安装使用教程-上海松夏官方网站 | 济南展厅设计施工_数字化展厅策划设计施工公司_山东锐尚文化传播有限公司 | RS系列电阻器,RK_RJ启动调整电阻器,RQ_RZ电阻器-上海永上电器有限公司 | 电子厂招聘_工厂招聘_普工招聘_小时工招聘信息平台-众立方招工网 | 无轨电动平车_轨道平车_蓄电池电动平车★尽在新乡百特智能转运设备有限公司 | 热风机_工业热风机生产厂家上海冠顶公司提供专业热风机图片价格实惠 | 活性氧化铝球|氧化铝干燥剂|分子筛干燥剂|氢氧化铝粉-淄博同心材料有限公司 | 蓝鹏测控平台 - 智慧车间系统 - 车间生产数据采集与分析系统 | 上海橡胶接头_弹簧减震器_金属软接头厂家-上海淞江集团 | 水压力传感器_数字压力传感器|佛山一众传感仪器有限公司|首页 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App |