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

淺談C++ Explicit Constructors(顯式構(gòu)造函數(shù))

 更新時(shí)間:2016年12月29日 09:45:58   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇淺談C++ Explicit Constructors(顯式構(gòu)造函數(shù))。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

C++ 為類(Class)提供了許多默認(rèn)函數(shù)。如果自己沒(méi)有申明,編譯器會(huì)為我們提供一個(gè)copy構(gòu)造函數(shù)、一個(gè)copy assignment操作符和一個(gè)析構(gòu)函數(shù)。此外,如果沒(méi)有申明任何構(gòu)造函數(shù),編譯器會(huì)為我們申明一個(gè)default構(gòu)造函數(shù)。很像下面的Empty類:

class Empty{
  public:
    Empty();
    Empty(const Empty &rhs);
    ~Empty();
    Empty& operator=(const Empty &rhs);
};

就像Effective C++說(shuō)的,如果不想使用編譯器自動(dòng)生成的函數(shù),就應(yīng)該明確拒絕。

1.C++中的隱式構(gòu)造函數(shù)

如果c++類的其中一個(gè)構(gòu)造函數(shù)有一個(gè)參數(shù),那么在編譯的時(shí)候就會(huì)有一個(gè)缺省的轉(zhuǎn)換操作:將該構(gòu)造函數(shù)對(duì)應(yīng)數(shù)據(jù)類型的數(shù)據(jù)轉(zhuǎn)換為該類對(duì)象。

2.Explicit Constructors顯式構(gòu)造函數(shù)

為了避免上面提到的只有一個(gè)參數(shù)的構(gòu)造函數(shù)采用的缺省轉(zhuǎn)換操作,在構(gòu)造函數(shù)前,使用Explicit 關(guān)鍵字修飾即可。

3.如下面的例子:

#include <iostream>
using namespace std;
class B{
  public:
    int data;
    B(int _data):data(_data){}
    //explicit B(int _data):data(_data){}
};

int main(){
  B temp=5;
  cout<<temp.data<<endl;
  return 0;
}

程序第11行,將int轉(zhuǎn)換為B類型的對(duì)象,就是使用了隱式構(gòu)造函數(shù)。因?yàn)锽中存在一個(gè)只有一個(gè)參數(shù)的構(gòu)造函數(shù),且參數(shù)類型也是int。

如果在構(gòu)造函數(shù)前加explicit ,表示為顯示構(gòu)造函數(shù),則第11行編譯不能通過(guò)。因?yàn)檫@時(shí),就沒(méi)有隱式構(gòu)造函數(shù)啦。

以上這篇淺談C++ Explicit Constructors(顯式構(gòu)造函數(shù))就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Lambda表達(dá)式里面修改外部變量問(wèn)題

    Lambda表達(dá)式里面修改外部變量問(wèn)題

    這篇文章主要介紹了Lambda表達(dá)式里面修改外部變量的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • C語(yǔ)言實(shí)現(xiàn)餐飲管理與點(diǎn)餐系統(tǒng)

    C語(yǔ)言實(shí)現(xiàn)餐飲管理與點(diǎn)餐系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)餐飲管理與點(diǎn)餐系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • C語(yǔ)言鏈表完整操作演示

    C語(yǔ)言鏈表完整操作演示

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言鏈表的完整操作演示,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • C語(yǔ)言用循環(huán)單鏈表實(shí)現(xiàn)約瑟夫環(huán)

    C語(yǔ)言用循環(huán)單鏈表實(shí)現(xiàn)約瑟夫環(huán)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言用循環(huán)單鏈表實(shí)現(xiàn)約瑟夫環(huán),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Qt實(shí)現(xiàn)高準(zhǔn)確率的語(yǔ)音識(shí)別

    Qt實(shí)現(xiàn)高準(zhǔn)確率的語(yǔ)音識(shí)別

    Vosk是一個(gè)開源的語(yǔ)音識(shí)別工具,支持中英文及多種語(yǔ)言,具備離線識(shí)別能力,且不依賴互聯(lián)網(wǎng),本文就來(lái)聊聊如何使用Vosk API在C++中進(jìn)行中英文識(shí)別吧
    2024-11-11
  • opencv實(shí)現(xiàn)矩形檢測(cè)

    opencv實(shí)現(xiàn)矩形檢測(cè)

    這篇文章主要為大家詳細(xì)介紹了opencv實(shí)現(xiàn)矩形檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • 七大經(jīng)典排序算法圖解

    七大經(jīng)典排序算法圖解

    本文詳細(xì)講解了七大經(jīng)典排序算法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • C語(yǔ)言實(shí)現(xiàn)可增容動(dòng)態(tài)通訊錄詳細(xì)過(guò)程

    C語(yǔ)言實(shí)現(xiàn)可增容動(dòng)態(tài)通訊錄詳細(xì)過(guò)程

    這篇文章主要為大家介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易通訊錄的完整流程,此通訊錄還可以增容,并且每個(gè)環(huán)節(jié)都有完整代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-05-05
  • C語(yǔ)言怎么獲得進(jìn)程的PE文件信息

    C語(yǔ)言怎么獲得進(jìn)程的PE文件信息

    這篇文章主要介紹了C語(yǔ)言怎么獲得進(jìn)程的PE文件信息的相關(guān)代碼,需要的朋友可以參考下
    2016-01-01
  • C++實(shí)現(xiàn)棧的操作(push和pop)

    C++實(shí)現(xiàn)棧的操作(push和pop)

    這篇文章主要介紹了C++實(shí)現(xiàn)棧的操作(push和pop),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07

最新評(píng)論

陕西省| 夏河县| 五寨县| 台前县| 双流县| 兴安县| 长汀县| 灯塔市| 万全县| 天峻县| 廉江市| 铁岭市| 临潭县| 宣威市| 永泰县| 靖州| 临武县| 绥芬河市| 尚志市| 科尔| 福泉市| 吉林省| 鄯善县| 临泉县| 玛曲县| 普陀区| 平舆县| 镇巴县| 繁峙县| 许昌县| 安顺市| 固安县| 汝阳县| 南郑县| 行唐县| 应城市| 镇远县| 油尖旺区| 中牟县| 剑阁县| 榕江县|