• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            c++中explict關鍵字的說明和使用

            先看下面這一個簡單的代碼吧

             1 #include <iostream>
             2 using namespace std;
             3 class my
             4 {
             5 private:
             6     int t;
             7 public:
             8     my(){};
             9     my(int i):t(i){};
            10     int get()
            11     {
            12         return t;
            13     }
            14     void print(my d)
            15     {
            16         cout<<d.get()<<endl;
            17     }
            18 };
            19 
            20 int main()
            21 {
            22     my t;
            23     int i=3;
            24     t.print(i);
            25     return 0;
            26 }

            main函數(shù)中t.print(i);的調(diào)用,my類里面print函數(shù)接受的數(shù)據(jù)類型的my,不是int,但這段程序仍然能夠正常運行,是因為my類里面存在一個只有一個形參的構造函數(shù)。

            當在一個需要my類型對象的地方(比如print函數(shù),就需要一個my類型對象),但是如果卻沒有給一個my類型對象,給了一個其他類型的對象,比如int,那么這個時候就會看這個類有沒有定義一個只接受一個參數(shù)的構造函數(shù),而且這個形參必須是int,然后構造出一個my類型臨時對象,再把這個臨時對象給需要my類對象的地方,完成一種隱式的轉(zhuǎn)換。
            注意:如果這個類有一個接受一個參數(shù)的構造函數(shù),但是這個參數(shù)的類型比如是string,這個隱式轉(zhuǎn)換肯定就不會發(fā)生了,編譯時會提示錯誤。

            總之,隱式轉(zhuǎn)換會發(fā)生在,本來需要一個這種類對象的時候,卻給了一個其他的數(shù)據(jù)類型,而且類也恰好有一個只接受一個這種數(shù)據(jù)類型參數(shù)的構造函數(shù),就會先調(diào)用這個構造函數(shù)生成一個臨時對象,接著將這臨時對象用于需要這種類對象的地方。

            但是很多時候,這種隱式轉(zhuǎn)換會帶來很大的麻煩,因此如果自己定義的類中,有一個只接受一個參數(shù)的構造函數(shù),除非有一個好理由允許構造函數(shù)被用于隱式類型轉(zhuǎn)換,否則那么就要在這個構造函數(shù)前面加一個關鍵詞 explicit,表明不會發(fā)生隱式轉(zhuǎn)換。

            posted on 2012-09-19 18:15 古月 閱讀(651) 評論(0)  編輯 收藏 引用 所屬分類: C/C++

            <2012年9月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            導航

            統(tǒng)計

            常用鏈接

            留言簿

            隨筆分類

            隨筆檔案

            文章檔案

            C++/C

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品中文字幕一区| 久久男人Av资源网站无码软件| 国内精品久久久久久麻豆| 亚洲欧洲中文日韩久久AV乱码| 久久久久久人妻无码| 久久免费美女视频| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 久久人人爽人人爽人人片AV东京热| 久久精品国产久精国产一老狼| 精品久久久久久无码专区 | 中文字幕乱码人妻无码久久| 要久久爱在线免费观看| 国产精品无码久久久久久| 亚洲国产视频久久| 综合久久给合久久狠狠狠97色| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久久久波多野结衣高潮| 精品久久国产一区二区三区香蕉| 亚洲AV无码久久精品狠狠爱浪潮| 亚洲欧美一区二区三区久久| 热re99久久精品国产99热| 久久中文骚妇内射| 狠狠综合久久综合88亚洲| 久久久噜噜噜久久| 伊人久久免费视频| 亚洲精品午夜国产va久久| 亚洲伊人久久大香线蕉苏妲己| 久久久久人妻一区精品色| 久久人人青草97香蕉| 久久综合久久伊人| 久久久久国产精品三级网| 久久久国产视频| 亚洲国产精品狼友中文久久久 | 青青青国产成人久久111网站| 日韩精品久久无码中文字幕| 97久久婷婷五月综合色d啪蜜芽| 污污内射久久一区二区欧美日韩 | 久久精品国产亚洲AV久| 国产亚洲美女精品久久久2020| 久久久久高潮综合影院| 看久久久久久a级毛片|