• <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>

            colorful

            zc qq:1337220912

             

            C++中operator的另一種用法

            http://www.joyloft.net/?p=484

            幾乎所有的C++教材上都講了operator在C++中是重載操作符的關(guān)鍵字,但是恕我學業(yè)不精,昨天研究C++的語法文件時,才發(fā)現(xiàn)這個關(guān)鍵字還可以用來定義隱式的類型轉(zhuǎn)換。

            參見如下代碼,類A在需要的時候可以自動的轉(zhuǎn)換成bool形。

            1. class A
            2. {
            3. ??? public:
            4. ????? operator bool(void)
            5. ????? {
            6. ????????? return b;
            7. ????? }
            8. ??? private:
            9. ????? bool b;
            10. };
            11.  
            12. void main(void)
            13. {
            14. ??? A a;
            15. ??? bool b;
            16. ??? if(a)
            17. ??? {
            18. ??????? b = ! a;
            19. ??? }
            20. }

            Post a comment 我有話說Trackback URI 引用路徑(Trackback URI)

            XML 訂閱本站

            本文 (鏈接) 由 Zenzen發(fā)表于 星期三, 八月 1st, 2007 4:09 PM,屬于以下分類 編程開發(fā).

            ?

            Comments (3) left to “C++中operator的另一種用法”

            1. 夜弓 wrote:

              隱式轉(zhuǎn)換有兩個辦法嘛
              一個就是上面說的operator type_name()
              另外一個是非explict的單參構(gòu)造函數(shù)
              不過依賴隱式轉(zhuǎn)換很容易出問題,而且很難調(diào)試
              恐怕只有自己寫東西玩,和庫作者才會用到

              Posted on 04-Aug-07 at 6:41 pm | Permalink

            2. 夜弓 wrote:

              補充一句
              其實上面這樣定義出來的還是叫做重載操作符
              應(yīng)該是,類型轉(zhuǎn)換操作符
              就像C里面常見的(char)iValue一樣。
              不過也可以用來進行隱式轉(zhuǎn)換。

              Posted on 04-Aug-07 at 10:59 pm | Permalink

            3. 小彬 wrote:

              隱式類型轉(zhuǎn)換可以使用構(gòu)造函數(shù)以及但參數(shù)的構(gòu)造函數(shù)
              class type
              {
              int a;
              public:
              type (int b) {
              a = b;
              }
              };

              main ()
              {
              type c = 123; //在此調(diào)用的是type的構(gòu)造函數(shù),自動轉(zhuǎn)換類型。不過只有在初始化對象時才可以
              }
              在函數(shù)調(diào)用中也行

              void fun(type a)
              {

              }

              main ()
              {
              fun (123); //并沒有錯誤,不過一個前提是函數(shù)的形參必須是傳值調(diào)用而不能引用,并且沒有參數(shù)為int類型的重載函數(shù),否則會調(diào)用參數(shù)為int的函數(shù)(涉及到候選函數(shù)問題)
              }

              順便說一下,你的主頁很有意思

            posted on 2012-03-22 20:45 多彩人生 閱讀(581) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            導(dǎo)航

            統(tǒng)計

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲精品午夜国产VA久久成人| 久久久久人妻一区二区三区vr| 中文字幕成人精品久久不卡| 国产成人99久久亚洲综合精品 | 久久精品蜜芽亚洲国产AV| 青青热久久国产久精品| 国内精品久久久久久久coent| 国产精品狼人久久久久影院| 久久免费99精品国产自在现线| 一本色道久久综合狠狠躁篇| 久久久久亚洲AV无码网站| 国内精品久久久久久麻豆| 久久九九久精品国产| 午夜精品久久久久久久| 9999国产精品欧美久久久久久| 久久亚洲天堂| 国产精品久久免费| 伊人久久综合精品无码AV专区| 国产精品狼人久久久久影院| 久久精品黄AA片一区二区三区| 一本久道久久综合狠狠躁AV| 蜜臀av性久久久久蜜臀aⅴ麻豆| 岛国搬运www久久| 国产精品99久久久精品无码| 中文字幕精品久久| 久久99精品国产99久久6| 国产精品久久国产精麻豆99网站| 亚洲精品99久久久久中文字幕| 伊人久久成人成综合网222| 2020最新久久久视精品爱| 久久久av波多野一区二区| 青青草国产97免久久费观看| 伊人久久免费视频| 无码人妻久久一区二区三区免费丨| 狠狠人妻久久久久久综合| 77777亚洲午夜久久多喷| 久久精品免费一区二区| 色天使久久综合网天天 | 久久亚洲AV永久无码精品| 9999国产精品欧美久久久久久| 国产V综合V亚洲欧美久久|