青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
數(shù)據(jù)加載中……

轉(zhuǎn)載一篇c++override與overload的好文

今天看到師兄寫的證書庫(kù)代碼,看到了一個(gè)很奇怪的東東,父類里有一個(gè)不是虛函數(shù)的函數(shù),這個(gè)函數(shù)在子類中被重新寫了一遍,函數(shù)名,參數(shù)列表,返回值都一樣,就是在參數(shù)列表中的默認(rèn)值給的不太一樣。我覺得太詭異了。加上以前c++的重寫和重載之類的概念也好長(zhǎng)時(shí)間沒弄,糊涂了。真不知道這個(gè)四不像是什么了。在網(wǎng)上翻了一些文檔,發(fā)現(xiàn)這篇寫的非常完整,而且和我想的也一樣。其實(shí)師兄的這種寫法是非常ugly的。如果出現(xiàn)這種子類中完全重新寫了父類的函數(shù),那么父類就應(yīng)該將這個(gè)函數(shù)設(shè)為virtul的才對(duì)。當(dāng)然如果沒有設(shè)置,編譯也不會(huì)出錯(cuò),這種情況下,會(huì)出現(xiàn)hide隱藏。隱藏(hide):指的是派生類的成員函數(shù)隱藏了基類函數(shù)的成員函數(shù).隱藏一詞可以這么理解:在調(diào)用一個(gè)類的成員函數(shù)的時(shí)候,編譯器會(huì)沿著類的繼承鏈逐級(jí)的向上查找函數(shù)的定義,如果找到了那么就停止查找了,所以如果一個(gè)派生類和一個(gè)基類都有同一個(gè)同名(暫且不論參數(shù)是否相同)的函數(shù),而編譯器最終選擇了在派生類中的函數(shù),那么我們就說這個(gè)派生類的成員函數(shù)"隱藏"了基類的成員函數(shù),也就是說它阻止了編譯器繼續(xù)向上查找函數(shù)的定義。而overload重載與繼承根本就沒關(guān)系,說的是同一個(gè)作用域中,相同類名,不同參數(shù)列表的現(xiàn)象。

轉(zhuǎn)載的原文見下面:

C++
是一門magic的語言,很多機(jī)制復(fù)雜得讓人頭疼,但是這種迷宮競(jìng)走的狀態(tài)讓人精力十足,我發(fā)誓了,不搞明白不罷休,同時(shí)也希望得到高手們的指點(diǎn)和幫助~

override  
函數(shù)名和參數(shù)類型以及返回類型必須相同,即簽名都是一致的——或者叫相貌和衣服都是一樣的,一般用在繼承過程中。(高手判斷一下,除了實(shí)現(xiàn)細(xì)節(jié),其他的是不是什么都應(yīng)該相同?所以叫做重寫”——C++編程思想》上是這么翻譯的。)

overload  
函數(shù)名必須相同,簽名必須不同(參數(shù)個(gè)數(shù),順序,類型),返回類型可以不同,用在同一個(gè)類中,在編譯時(shí)候確定。

以下是轉(zhuǎn)載的內(nèi)容:

override  
是指在不同作用域中,多個(gè)函數(shù)原型完全一樣,而實(shí)現(xiàn)卻不同的函數(shù)。在C++中,經(jīng)常發(fā)生在類的繼承中。當(dāng)基類中的某個(gè)方法是virtualpure virtual函數(shù)時(shí)

(當(dāng)然訪問權(quán)限必須是publicprotected,因?yàn)閺?span lang="EN-US">C++
設(shè)計(jì)思想上來講private的函數(shù)不會(huì)是virtual的!!!這個(gè)請(qǐng)問一下,是不是這樣的??),

   
其子類中對(duì)該方法的重新實(shí)現(xiàn)就屬于override(重寫)。

   
使用時(shí),可以通過基類的指針或者引用所指向的具體對(duì)象來確定調(diào)用的是哪個(gè)方法,從而實(shí)現(xiàn)函數(shù)的多態(tài)。

  
(函數(shù)的多態(tài)?C++中實(shí)現(xiàn)多態(tài)性的手段之一嗎?還有多少其他的手段??)


   
對(duì)于基類中的非virtual類型的成員函數(shù),若其子類中也聲明了與該函數(shù)名稱相同的函數(shù),那么基類中的該函數(shù)(也許是一系列函數(shù),如果該函數(shù)在基類中有重載的話)將被隱藏,可以通過域解析操作符來調(diào)用。不過按照C++的設(shè)計(jì)思想來說呢,基類中的非virtual類型的成員函數(shù),是不需要在子類中進(jìn)行修改的,所以如果在子類中出現(xiàn)了這種隱藏的情況,說明應(yīng)該將基類中的該函數(shù)改成virtual類型的,然后就是override了!


    overload
則是指在相同作用域中,多個(gè)函數(shù)具有相同的名字,但參數(shù)的數(shù)目和類型各不相同(當(dāng)然相同數(shù)目和類型,如果順序不同也是可以的),因?yàn)楹瘮?shù)重載的機(jī)制是在C++中函數(shù)的簽名與其參數(shù)有關(guān),而不像C中,只與函數(shù)名有關(guān)。


    
總之,overrideoverload的一個(gè)最大的區(qū)別就是作用域不同,以及函數(shù)原型是否相同.



override
     覆蓋是子類重寫父類的虛方法的一種形式。

overload
     重載是值允許存在重名的多個(gè)方法。而這些函數(shù)的參數(shù)列表不同(或者是參數(shù)
              
的個(gè)數(shù)不同、或者是參數(shù)的類型不同或者兩者都不同)。


重載(overload 與多態(tài)的概念無關(guān)) :因?yàn)槭窃诰幾g階段就確定的。

只有在與運(yùn)行階段確定的才稱為面向?qū)ο蟮亩鄳B(tài)性。即override

面向?qū)ο蟮膸讉€(gè)基本概念

多態(tài):目的實(shí)現(xiàn)接口重用
繼承:實(shí)現(xiàn)代碼重用。
封裝:實(shí)現(xiàn)代碼的模塊化.

override
表示重寫,用于繼承類對(duì)基類中虛成員的實(shí)現(xiàn)

overload
表示重載,用于同一個(gè)類中同名方法不同參數(shù)(包括類型不同或個(gè)數(shù)不同)的實(shí)現(xiàn)

posted on 2009-10-31 15:57 肥仔 閱讀(1766) 評(píng)論(1)  編輯 收藏 引用 所屬分類: C++ 基礎(chǔ)

評(píng)論

# re: 轉(zhuǎn)載一篇c++override與overload的好文  回復(fù)  更多評(píng)論   

如果是private的成員,子類并不能繼續(xù),聲明了virtual也沒用啊
多態(tài)是面向?qū)ο蟮奶卣髦唬瑩?jù)我理解,嚴(yán)格(狹義)的多態(tài)應(yīng)該只有override
因?yàn)榧热皇荗O,自然要涉及到類的相關(guān)概念
overload可以理解為一個(gè)廣義的多態(tài),同樣的方法名,表現(xiàn)出不同的形態(tài)
2009-11-01 12:46 | Sunshine Alike
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            日韩午夜精品| 女人色偷偷aa久久天堂| 老司机成人网| 一区二区三区国产精品| 久久精品中文| 国产精品日韩一区二区三区| 国产精品久在线观看| 亚洲精选一区| 欧美成在线观看| 久久国产日韩欧美| 国产精品一区二区你懂的| 影音先锋另类| 欧美亚洲自偷自偷| 久久综合久久综合这里只有精品| 欧美黄在线观看| 亚洲国产另类 国产精品国产免费| 欧美有码在线视频| 亚洲精品久久久蜜桃| 久久夜色精品国产噜噜av| 欧美激情一区二区在线| 亚洲人成毛片在线播放女女| 久久在线视频| 亚洲新中文字幕| 翔田千里一区二区| 亚洲免费大片| 性久久久久久久久久久久| 在线欧美日韩国产| 小辣椒精品导航| 亚洲国产欧美日韩| 国产精品欧美在线| 欧美顶级少妇做爰| 国产精品国产精品| 麻豆精品在线观看| 国产精品福利网站| 欧美国产精品v| 国产欧美午夜| 日韩亚洲欧美成人| 亚洲国产成人精品女人久久久| 日韩视频免费在线观看| 韩国美女久久| 亚洲一区二区在线观看视频| 亚洲国产三级在线| 欧美中文字幕不卡| 亚洲小说欧美另类婷婷| 毛片精品免费在线观看| 久久成人国产| 欧美一区观看| 亚洲视频一区在线观看| 久久性天堂网| 久久亚洲精品一区| 国产精品你懂的在线欣赏| 亚洲国产欧美另类丝袜| 在线观看日韩专区| 性欧美超级视频| 亚洲欧美国产77777| 欧美国产视频日韩| 亚洲第一色中文字幕| 狠狠入ady亚洲精品| 亚洲一区尤物| 香港久久久电影| 国产精品红桃| 日韩亚洲欧美一区二区三区| 亚洲精品乱码久久久久久黑人| 久久久亚洲精品一区二区三区| 欧美中文字幕不卡| 国产农村妇女毛片精品久久莱园子 | 久久激情视频久久| 欧美中文字幕第一页| 国产精品国产三级国产普通话三级| 亚洲人成在线观看| 最新日韩av| 免费精品视频| 亚洲欧美日韩另类精品一区二区三区| 噜噜噜躁狠狠躁狠狠精品视频| 久热爱精品视频线路一| 黄色一区二区三区| 久久精品欧美| 你懂的视频欧美| 亚洲国产一区二区a毛片| 美女成人午夜| 亚洲精品资源| 亚洲欧美www| 国产日韩精品一区二区浪潮av| 午夜视频在线观看一区二区| 久久欧美中文字幕| 亚洲大黄网站| 欧美激情一区二区三区在线视频| 亚洲美女黄网| 欧美中日韩免费视频| 狠狠色综合网站久久久久久久| 久久久www成人免费精品| 欧美激情片在线观看| 国产精品99久久久久久白浆小说| 国产精品久久久久久久7电影| 校园激情久久| 亚洲国产高清在线| 先锋影音国产精品| 亚洲国产综合91精品麻豆| 欧美另类视频| 欧美一级精品大片| 亚洲国产精品女人久久久| 亚洲一区中文| 在线观看亚洲a| 欧美日韩在线不卡一区| 欧美在线播放视频| 亚洲美女视频网| 久久综合狠狠| 亚洲视频在线观看免费| 国内精品嫩模av私拍在线观看 | 午夜精品久久久久久99热软件| 久久一区二区精品| 亚洲视频久久| 亚洲福利视频专区| 国产精品国产a级| 免费看精品久久片| 香蕉成人伊视频在线观看| 欧美国产日韩在线| 久久精品国产亚洲一区二区三区| 亚洲免费观看视频| 国语自产精品视频在线看8查询8| 欧美日韩免费在线| 欧美成人精品| 久久久久久国产精品一区| 中日韩高清电影网| 亚洲人成网站在线播| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲一区自拍| 一区二区三区免费观看| 亚洲欧洲三级电影| 国产一区欧美日韩| 国产精品久久二区| 欧美极品影院| 欧美电影在线观看完整版| 欧美专区日韩视频| 亚洲欧美成人综合| 亚洲一区二区欧美| 99在线热播精品免费| 亚洲精品国产视频| 亚洲欧洲日韩在线| 亚洲国产精品va在线看黑人动漫| 久久综合伊人77777麻豆| 久久精品在这里| 久久精品在线播放| 久久手机精品视频| 久久久久这里只有精品| 久久久久久亚洲精品杨幂换脸 | 久久er99精品| 性久久久久久| 久久国产精品一区二区三区| 亚洲欧美影音先锋| 欧美一区二区私人影院日本| 欧美一区二区三区免费观看| 亚洲综合国产| 欧美一区二区三区四区视频 | 亚洲国产一二三| 亚洲欧洲一区二区在线观看 | 国产精品少妇自拍| 国产欧美三级| 伊人男人综合视频网| 136国产福利精品导航网址| 在线观看日韩一区| 亚洲黄一区二区三区| 亚洲精品黄色| 亚洲一区二三| 欧美尤物一区| 欧美成人一品| 亚洲免费观看高清完整版在线观看熊 | 久久久国产视频91| 免费中文日韩| 欧美伦理影院| 欧美午夜一区二区| 国产欧美在线视频| 国产一区二区三区直播精品电影 | 在线精品亚洲| 一区二区欧美激情| 欧美在线视频全部完| 欧美sm极限捆绑bd| 亚洲理伦电影| 欧美中日韩免费视频| 欧美大成色www永久网站婷| 欧美视频在线视频| 激情久久久久久久| 一区二区三区四区五区精品| 欧美一级午夜免费电影| 欧美不卡一卡二卡免费版| 在线亚洲免费视频| 久久亚洲国产成人| 国产精品国产福利国产秒拍| 在线观看国产一区二区| 亚洲一级免费视频| 欧美凹凸一区二区三区视频| 一本色道久久综合亚洲精品不| 久久不射中文字幕| 欧美色中文字幕| 在线观看一区二区视频| 亚洲欧美怡红院| 亚洲精品欧洲精品| 久久一区中文字幕| 国产午夜精品麻豆| 亚洲一级网站|