• <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>
            隨筆 - 55  文章 - 15  trackbacks - 0
            <2013年2月>
            272829303112
            3456789
            10111213141516
            17181920212223
            242526272812
            3456789

            常用鏈接

            留言簿

            隨筆分類

            隨筆檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

              1. 繼承中的函數隱藏
                     任何時候重新定義了基類中的一個重載函數,那么在新類中的所有其他版本將被自動隱藏。修改返回值和參數同樣會隱藏基類其他版本的函數,如果該函數是虛函數,不能在新類中修改返回值。

            2. 自動類型轉換方法(該轉換只發生在函數調用期間)
                1) 利用轉型構造函數
                2) 利用運算符轉換
               如果不想自動轉換,可將轉型構造函數利用explicit關鍵字設為顯式調用
             
            class One

            public:
               One()
            {}
            }
            ;
            class Two
            {
            public:
               
            explicit Two(const& One){}
            }
            ;
            void f(Two){}
            int main()
            {
              One one;
              f(one);
            // error
              f(Two(one));//right
              return 0;
            }

            It's supposed to help with your complexion.

            運算符轉換之前沒用到過,該方法的中心思想是,在該類中添加一個 operator Type()的函數,該函數沒有返回值,要從該類轉型到該Type類型的時候,編譯器會自動調用該成員函數,轉換成Type類型

            class Four
            {public:
            operator Three() const
            {
            return Three(x);
            }

            }
            ;
            g(Three)
            {}
            int main()
            {
            Four four;
            g(four);
            //invoke four.Three(), there no return value
            return 0;
            }

            3. 拷貝構造函數和賦值操作符
                子類如果沒有寫這兩個,編譯器將會自動生成,生成的代碼中調用父類的拷貝構造函數和賦值操作符,所以如果我們自己寫的話,最好也要調用父類的拷貝構造函數和賦值操作符。
                因為構造函數和operator=和拷貝構造函數只負責初始化自己層次的構造,所以要完成初始化,必須先要初始化父類,所以他們不能被繼承。(其實沒理解這句話,如果被繼承了的話,那子類就可以負責完成父類的初始化了???)
                一旦我們自己決定手動添加拷貝構造函數和operator=,編譯器會假定我們已經知道所作的一切,并且不再自動調用基類版本,如果想調用,必須我們自己添加,即初始化列表。

            4. 多態的進化(為什么使用多態和怎么用)
            ....


            1
            posted on 2012-04-23 17:33 Dino-Tech 閱讀(210) 評論(0)  編輯 收藏 引用
            9久久9久久精品| 久久久久综合中文字幕| 伊人热热久久原色播放www| 日本精品久久久久影院日本| 久久精品国产福利国产琪琪| 久久av高潮av无码av喷吹| 漂亮人妻被中出中文字幕久久 | 久久亚洲私人国产精品vA | 国产成人精品久久| …久久精品99久久香蕉国产| 久久www免费人成精品香蕉| 7777久久久国产精品消防器材| 久久免费精品一区二区| 久久亚洲AV无码精品色午夜| 91精品国产高清久久久久久io | 国产综合精品久久亚洲| 91麻豆国产精品91久久久| 99精品久久久久久久婷婷| 亚洲精品无码成人片久久| 久久久精品国产Sm最大网站| 久久99精品国产自在现线小黄鸭 | 亚洲欧美成人久久综合中文网 | 国产精品欧美久久久久无广告 | 狠狠色丁香久久婷婷综合蜜芽五月| 久久精品麻豆日日躁夜夜躁| 亚洲国产成人乱码精品女人久久久不卡| 久久66热人妻偷产精品9| 久久久久国产精品嫩草影院| 久久无码AV中文出轨人妻| 国产精品久久久久…| 欧洲人妻丰满av无码久久不卡| 无码任你躁久久久久久老妇App| 国产成人精品久久一区二区三区av| 少妇高潮惨叫久久久久久| 亚洲精品国精品久久99热一| 精品久久久久成人码免费动漫| 久久久久亚洲爆乳少妇无| 久久精品99无色码中文字幕| 国产香蕉97碰碰久久人人| 99久久国产综合精品网成人影院| 国内精品伊人久久久久AV影院|