<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      地上的蘋果

      導航

      C++筆記之關(guān)鍵字explicit

      在C++中,explicit關(guān)鍵字用來修飾類的構(gòu)造函數(shù),被修飾的構(gòu)造函數(shù)的類,不能發(fā)生相應的隱式類型轉(zhuǎn)換,只能以顯示的方式進行類型轉(zhuǎn)換。

      explicit使用注意事項:
      explicit 關(guān)鍵字只能用于類內(nèi)部的構(gòu)造函數(shù)聲明上。
      explicit 關(guān)鍵字作用于單個參數(shù)的構(gòu)造函數(shù)。
      隱式轉(zhuǎn)換:直接將一種類型賦值給另外一個類型;
      例如:string strType = “123”;
      object objType=strType;//,隱式轉(zhuǎn)換,
      顯示轉(zhuǎn)換:數(shù)據(jù)先進行類型轉(zhuǎn)換再進行賦值,
      例如:string strType = “123”;
      object objType=(object)strType;//,顯式轉(zhuǎn)換,

      **例子:
      ***轉(zhuǎn)自:***
      

      http://www.rzrgm.cn/this-543273659/archive/2011/08/02/2124596.html

      
      未加explicit時的隱式類型轉(zhuǎn)換
      
         1. class Circle  
         2. {  
         3. public:  
         4.     Circle(double r) : R(r) {}  
         5.     Circle(int x, int y = 0) : X(x), Y(y) {}  
         6.     Circle(const Circle& c) : R(c.R), X(c.X), Y(c.Y) {}  
         7. private:  
         8.     double R;  
         9.     int    X;  
        10.     int    Y;  
        11. };  
        12.   
        13. int _tmain(int argc, _TCHAR* argv[])  
        14. {  
        15. //發(fā)生隱式類型轉(zhuǎn)換  
        16. //編譯器會將它變成如下代碼  
        17. //tmp = Circle(1.23)  
        18. //Circle A(tmp);  
        19. //tmp.~Circle();  
        20.     Circle A = 1.23;   
        21. //注意是int型的,調(diào)用的是Circle(int x, int y = 0)  
        22. //它雖然有2個參數(shù),但后一個有默認值,任然能發(fā)生隱式轉(zhuǎn)換  
        23.     Circle B = 123;  
        24. //這個算隱式調(diào)用了拷貝構(gòu)造函數(shù)  
        25.     Circle C = A;  
        26.       
        27.     return 0;  
        28. } 
      
      加了explicit關(guān)鍵字后,可防止以上隱式類型轉(zhuǎn)換發(fā)生
      
         1. class Circle  
         2. {  
         3. public:  
         4.     explicit Circle(double r) : R(r) {}  
         5.     explicit Circle(int x, int y = 0) : X(x), Y(y) {}  
         6.     explicit Circle(const Circle& c) : R(c.R), X(c.X), Y(c.Y) {}  
         7. private:  
         8.     double R;  
         9.     int    X;  
        10.     int    Y;  
        11. };  
        12.   
        13. int _tmain(int argc, _TCHAR* argv[])  
        14. {  
        15. //一下3句,都會報錯  
        16.     //Circle A = 1.23;   
        17.     //Circle B = 123;  
        18.     //Circle C = A;  
        19.       
        20. //只能用顯示的方式調(diào)用了  
        21. //未給拷貝構(gòu)造函數(shù)加explicit之前可以這樣  
        22.          Circle A = Circle(1.23);  
        23.         Circle B = Circle(123);  
        24.         Circle C = A;  
        25.   
        26. //給拷貝構(gòu)造函數(shù)加了explicit后只能這樣了  
        27.          Circle A(1.23);  
        28.         Circle B(123);  
        29.         Circle C(A);  
        30.     return 0;  
        31. } **

      posted on 2016-05-12 22:02  填啥的蚊子  閱讀(126)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 国产粉嫩学生高清专区麻豆| 天堂网在线.www天堂在线资源 | 国产一区二区三区在线观看免费| 91老肥熟女九色老女人| 日本欧美一区二区免费视频| 午夜国产精品福利一二| 国产精品线在线精品国语| 丁香五月激情图片| 国产超碰无码最新上传| 国产一区二区视频在线看| 嫩草院一区二区乱码| 免费无码成人AV片在线| 国产亚洲精品成人av在线| 国产综合久久久久鬼色| 久久精品人人槡人妻人人玩av| 深夜精品免费在线观看| 97免费人妻在线视频| 国产一区二区三区亚洲精品| 精品999日本久久久影院| 日本深夜福利在线观看| 国产精品国产精品一区精品| 在线天堂www在线| 99国产午夜福利在线观看| 久久精品蜜芽亚洲国产AV| 性色欲情网站iwww九文堂| 综合区一区二区三区狠狠| 久久综合精品成人一本| 久久亚洲精品成人av秋霞| 日韩加勒比一本无码精品| аⅴ天堂中文在线网| 日韩中文日韩中文字幕亚| 亚洲成人高清av在线| 日韩有码中文字幕av| 亚洲中文久久久久久精品国产| 女人下边被添全过视频的网址 | 成人午夜视频一区二区无码 | 亚洲精品无码久久毛片| 被喂春药蹂躏的欲仙欲死视频 | 精品一区二区免费不卡| 精品国模一区二区三区| 人人爽亚洲aⅴ人人爽av人人片 |