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

            隨筆 - 25, 文章 - 0, 評論 - 6, 引用 - 0
            數據加載中……

            區分重載(overload),覆蓋(Override)和隱藏(hide)

            轉自 http://blog.csdn.net/jixingzhong/article/details/1858943 

            重載overload,這個概念是大家熟知的。在同一可訪問區內被聲名的幾個具有不同參數列的(參數的類型、個數、順序不同)同名函數,程序會根據不同的參數列來確定具體調用哪個函數,這種機制就是重載。重載不關心函數的返回值類型,即返回類型不同無法構成重載。此外,C++ 中的const成員函數也可以構成overload。
                總結一下重載的特征:
              1、處在相同的空間中,即相同的范圍內;
              2、函數名相同;
              3、參數不同,即參數個數不同,或相同位置的參數類型不同;
              4、const成員函數可以和非const成員函數形成重載;
                    5、virtual關鍵字、返回類型對是否夠成重載無任何影響。


                覆蓋override,是指派生類中存在重新定義的函數,其函數名、參數列、返回值類型必須同父類中的相對應被覆蓋的函數嚴格一致,覆蓋函數和被覆蓋函數只有函數體(花括號中的部分)不同,當派生類對象調用子類中該同名函數時會自動調用子類中的覆蓋版本,而不是父類中的被覆蓋函數版本,這種機制就叫做覆蓋,特征是:       
                    1、不同的范圍(分別位于派生類與基類);       
                    2、函數名字相同;       
                    3、參數相同;       
                    4、基類函數必須有virtual關鍵字。  

             

            針對上述兩個概念,還有一個隱藏hide。所謂的隱藏,指的是派生類類型的對象、指針、引用訪問基類和派生類都有的同名函數時,訪問的是派生類的函數,即隱藏了基類的同名函數。隱藏規則的底層原因其實是C++的名字解析過程。在繼承機制下,派生類的類域被嵌套在基類的類域中。派生類的名字解析過程如下:
              1、首先在派生類類域中查找該名字。
              2、如果第一步中沒有成功查找到該名字,即在派生類的類域中無法對該名字進行解析,則編譯器在外圍基類類域對查找該名字的定義。
                總結一下隱藏的特征:
                    1、如果派生類的函數與基類的函數同名,但是參數不同。此時,不論有無virtual關鍵字,基類的函數將被隱藏(注意別與重載混淆)。       
                    2、如果派生類的函數與基類的函數同名,并且參數也相同,但是基類函數沒有virtual關鍵字。此時,基類的函數被隱藏(注意別與覆蓋混淆)。 

            posted on 2013-03-08 17:29 chenjt3533 閱讀(284) 評論(0)  編輯 收藏 引用 所屬分類: C/C++

            国产99久久久国产精品小说| 久久精品国产99国产精品澳门| 久久天天躁狠狠躁夜夜2020老熟妇 | 久久精品成人影院| 五月丁香综合激情六月久久 | 要久久爱在线免费观看| 老色鬼久久亚洲AV综合| 国产精品日韩深夜福利久久| 一本一本久久a久久综合精品蜜桃 一本一道久久综合狠狠老 | 狠狠色丁香久久婷婷综合五月| 久久国产精品二国产精品| 久久久久成人精品无码中文字幕 | 久久毛片免费看一区二区三区| 国产偷久久久精品专区| 欧洲性大片xxxxx久久久| 色噜噜狠狠先锋影音久久| 国产成人精品三上悠亚久久| 久久精品国产一区二区电影| 亚洲国产精品久久久久久| 久久亚洲精品国产精品| 亚洲国产另类久久久精品小说 | 国产精品9999久久久久| 人妻丰满AV无码久久不卡| 久久久无码精品亚洲日韩蜜臀浪潮 | 国产午夜电影久久| 18岁日韩内射颜射午夜久久成人| 久久久久亚洲精品无码蜜桃| 亚洲中文字幕无码久久2017| 欧美日韩精品久久免费| 久久无码AV中文出轨人妻| 久久亚洲精品国产亚洲老地址| 亚洲精品成人久久久| 亚洲国产成人久久笫一页| 亚洲午夜久久久| 久久精品久久久久观看99水蜜桃| 婷婷久久综合| 偷偷做久久久久网站| 亚洲国产精品久久电影欧美| 久久99精品久久久久久久久久 | 久久久噜噜噜久久| 久久亚洲sm情趣捆绑调教|