欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

C++中explict關(guān)鍵字用法

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語言|點(diǎn)擊: 次

C++提供了關(guān)鍵字explicit,可以阻止不應(yīng)該允許的經(jīng)過轉(zhuǎn)換構(gòu)造函數(shù)進(jìn)行的隱式轉(zhuǎn)換的發(fā)生。聲明為explicit的構(gòu)造函數(shù)不能在隱式轉(zhuǎn)換中使用。

c++規(guī)定:對(duì)于可能只需傳一個(gè)參數(shù)的默認(rèn)構(gòu)造函數(shù),都定義了一種隱式調(diào)用。

注意:只需傳一個(gè)參數(shù)不僅指的是只有一個(gè)參數(shù)的默認(rèn)構(gòu)造函數(shù),也指那些包含了定義了參數(shù)默認(rèn)值的那些默認(rèn)構(gòu)造函數(shù)。

舉例說明:

class MyClass
{
  public:
    MyClass();
    MyClass(string s);
    MyClass(int i, int y = 0);
}

這里的MyClass(string s)函數(shù)和MyClass(int i, int y = 0)函數(shù)都是可能只需傳一個(gè)參數(shù)的默認(rèn)構(gòu)造函數(shù)

看一下使用構(gòu)造函數(shù)構(gòu)造類對(duì)象的情況:

•MyClass obj1;//OK,調(diào)用了MyClass()

•MyClass obj2(string("Hello World!"));//OK,調(diào)用了MyClass(string s)

•MyClass obj3(12, 12);//OK,調(diào)用了MyClass(int i, int y = 0)

•MyClass obj4(12);//同上

•MyClass obj5 = 12;//同上。但是對(duì)于obj5,實(shí)際上等價(jià)于MyClass temp(12);MyClass obj5(temp);//也就是說默認(rèn)調(diào)用了默認(rèn)拷貝構(gòu)造函數(shù)。這就是所謂的隱式調(diào)用。

大部分情況下,隱式調(diào)用都會(huì)產(chǎn)生bug,而且很難察覺?;诖?,C++引入explict關(guān)鍵字關(guān)閉這種隱式調(diào)用,避免因?yàn)殡[式調(diào)用而產(chǎn)生的bug。

上一篇:C語言靜態(tài)鏈表和動(dòng)態(tài)鏈表

欄    目:C語言

下一篇:C語言壓縮文件和用MD5算法校驗(yàn)文件完整性的實(shí)例教程

本文標(biāo)題:C++中explict關(guān)鍵字用法

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/2340.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有