• <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
            <2012年3月>
            26272829123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿

            隨筆分類

            隨筆檔案

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

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

            2. 自動(dòng)類型轉(zhuǎn)換方法(該轉(zhuǎn)換只發(fā)生在函數(shù)調(diào)用期間)
                1) 利用轉(zhuǎn)型構(gòu)造函數(shù)
                2) 利用運(yùn)算符轉(zhuǎn)換
               如果不想自動(dòng)轉(zhuǎn)換,可將轉(zhuǎn)型構(gòu)造函數(shù)利用explicit關(guān)鍵字設(shè)為顯式調(diào)用
             
            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.

            運(yùn)算符轉(zhuǎn)換之前沒(méi)用到過(guò),該方法的中心思想是,在該類中添加一個(gè) operator Type()的函數(shù),該函數(shù)沒(méi)有返回值,要從該類轉(zhuǎn)型到該Type類型的時(shí)候,編譯器會(huì)自動(dòng)調(diào)用該成員函數(shù),轉(zhuǎn)換成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. 拷貝構(gòu)造函數(shù)和賦值操作符
                子類如果沒(méi)有寫這兩個(gè),編譯器將會(huì)自動(dòng)生成,生成的代碼中調(diào)用父類的拷貝構(gòu)造函數(shù)和賦值操作符,所以如果我們自己寫的話,最好也要調(diào)用父類的拷貝構(gòu)造函數(shù)和賦值操作符。
                因?yàn)闃?gòu)造函數(shù)和operator=和拷貝構(gòu)造函數(shù)只負(fù)責(zé)初始化自己層次的構(gòu)造,所以要完成初始化,必須先要初始化父類,所以他們不能被繼承。(其實(shí)沒(méi)理解這句話,如果被繼承了的話,那子類就可以負(fù)責(zé)完成父類的初始化了???)
                一旦我們自己決定手動(dòng)添加拷貝構(gòu)造函數(shù)和operator=,編譯器會(huì)假定我們已經(jīng)知道所作的一切,并且不再自動(dòng)調(diào)用基類版本,如果想調(diào)用,必須我們自己添加,即初始化列表。

            4. 多態(tài)的進(jìn)化(為什么使用多態(tài)和怎么用)
            ....


            1
            posted on 2012-04-23 17:33 Dino-Tech 閱讀(214) 評(píng)論(0)  編輯 收藏 引用

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


            国产伊人久久| 中文成人无码精品久久久不卡| 成人综合久久精品色婷婷| 国产香蕉久久精品综合网| 久久久久高潮毛片免费全部播放| 丰满少妇高潮惨叫久久久| 国产成人久久777777| 亚洲va中文字幕无码久久不卡| 久久国产精品99国产精| 久久免费99精品国产自在现线 | 久久青青草原综合伊人| 一本大道久久a久久精品综合 | 久久人妻少妇嫩草AV蜜桃| 中文成人久久久久影院免费观看| 国产成人久久激情91 | 久久久www免费人成精品| 久久99国产精品久久| 亚洲午夜久久久| 狠狠精品干练久久久无码中文字幕| 亚洲乱码日产精品a级毛片久久| 久久久久久亚洲AV无码专区| 超级碰碰碰碰97久久久久| 国产精品久久久99| 91精品国产乱码久久久久久| 久久精品中文无码资源站| 国产精品gz久久久| 色成年激情久久综合| 97精品伊人久久大香线蕉app| 久久婷婷人人澡人人爽人人爱| 国产成人精品久久一区二区三区av| 国产一级做a爰片久久毛片| 中文字幕日本人妻久久久免费| 日韩精品无码久久一区二区三| 久久久久一本毛久久久| 久久99精品国产麻豆不卡| 精品久久久久久国产免费了| 99久久精品免费看国产| 99久久夜色精品国产网站| 国产成人久久久精品二区三区| 久久久久国产成人精品亚洲午夜| 国产精品成人99久久久久91gav|