• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      C++語言中函數(shù)重載與運(yùn)算符重載問題

      2011-04-13 02:48:56孫明方周園園
      科技傳播 2011年7期
      關(guān)鍵詞:運(yùn)算符清華大學(xué)出版社多態(tài)

      孫明方,周園園

      沈陽師范大學(xué)物理科學(xué)與技術(shù)學(xué)院,遼寧 沈陽 110034

      0 引言

      多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計(jì)的重要特征之一,它與封裝性和繼承性共同組成面向?qū)ο蟮某绦蛟O(shè)計(jì)的三大基本特征,在函數(shù)重載中,同一個(gè)函數(shù)名可對(duì)應(yīng)若干種不同的實(shí)現(xiàn),依據(jù)函數(shù)參數(shù)的類型、個(gè)數(shù)和順序來確定某個(gè)實(shí)現(xiàn)。在運(yùn)算符重載中,同一個(gè)運(yùn)算符對(duì)應(yīng)著很多種功能,這些功能是通過函數(shù)來定義的,依據(jù)操作數(shù)的類型來確定應(yīng)選運(yùn)算符的功能。我們接觸的還有另一種是指同樣的消息被不同類的對(duì)象接受時(shí)產(chǎn)生完全不同的實(shí)現(xiàn),該情況大多產(chǎn)生在多類繼承中不同類中的相同說明的成員函數(shù)的多態(tài)行為。其中多態(tài)性分為專用多態(tài)和通用多態(tài),專用多態(tài)分為強(qiáng)制多態(tài)和重載多態(tài);通用多態(tài)分為參數(shù)多態(tài)和包含多態(tài)。其中重載是實(shí)現(xiàn)C++多態(tài)性的一種十分重要的機(jī)制,成為重載多態(tài),即為程序正文中相同作用域內(nèi)的同一個(gè)標(biāo)識(shí)符賦予不同的操作語義,實(shí)質(zhì)上就是實(shí)現(xiàn)了程序空間到代碼空間的一對(duì)多映射。

      1 函數(shù)重載

      簡單地說函數(shù)重載就是賦給同一個(gè)函數(shù)名多個(gè)含義。在我們學(xué)的C++中函數(shù)重載分為普通函數(shù)的重載和成員函數(shù)的重載,也就是說我們所學(xué)的函數(shù)重載可以以兩種不同的方式來實(shí)現(xiàn),就是我們所說的普通函數(shù)的重載和成員函數(shù)的重載。

      1.1 普通函數(shù)的重載

      例1:

      上一例題中,兩個(gè)函數(shù)都是普通的函數(shù)重載,由于主函數(shù)中調(diào)用的兩個(gè)函數(shù)對(duì)應(yīng)的參數(shù)個(gè)數(shù)不同,所以通過形參和實(shí)參的結(jié)合,我們得到了運(yùn)行的結(jié)果。

      1.2 成員函數(shù)的重載

      例2:

      這是一個(gè)很常見的習(xí)題,該函數(shù)調(diào)用了構(gòu)造函數(shù)的兩種形式,有參和無參,對(duì)應(yīng)于主函數(shù)中帶有不同形式參數(shù)的函數(shù),我們得到不同的結(jié)果。

      2 運(yùn)算符重載

      運(yùn)算符重載就是就是賦予已有的運(yùn)算符多重含義,即多種功能。C++語言中通過重新定義運(yùn)算符,使它能夠用于特定類的對(duì)象執(zhí)行的特定的功能。一般情況下運(yùn)算符重載有兩種形式,重載為類的成員函數(shù)和重載為有元函數(shù)兩種。

      2.1 重載為類的成員函數(shù)

      例1:

      2.2 重載為有元函數(shù)

      執(zhí)行的結(jié)果同例1,兩種運(yùn)算符比較,我們知道單目運(yùn)算符最好被重載為成員函數(shù),雙目運(yùn)算符最好被重載為有元函數(shù)。

      3 結(jié)論

      以上我們總結(jié)了函數(shù)重載和運(yùn)算符重載的區(qū)別和特點(diǎn)。眾所周知,重載是為了以不同的方式來實(shí)現(xiàn)函數(shù),我們?nèi)绻炀毜膽?yīng)用這門技術(shù),可以提高程序的運(yùn)行效率和可讀性,通過學(xué)習(xí),使我們更透徹地理解了C++的多態(tài)性問題。

      [1]譚浩強(qiáng).C語言程序設(shè)計(jì)[M].3版.北京:清華大學(xué)出版社,2005,8.

      [2]呂鳳翥.C++語言基礎(chǔ)教程[M].2版.清華大學(xué)出版社,2007,2.

      [3]Stanley B.Lippman.C++Primer中文版[M].人民郵電出版社,2006,3.

      猜你喜歡
      運(yùn)算符清華大學(xué)出版社多態(tài)
      分層多態(tài)加權(quán)k/n系統(tǒng)的可用性建模與設(shè)計(jì)優(yōu)化
      老祖?zhèn)魇诨具\(yùn)算符
      清華大學(xué)出版社期刊中心
      參差多態(tài)而功不唐捐
      Desperate Love towards the Dark Lady in Shakespeare’s Sonnets
      世界家苑(2018年4期)2018-05-21 08:56:20
      《秘書工作手記》
      決策(2017年5期)2017-06-21 16:58:25
      人多巴胺D2基因啟動(dòng)子區(qū)—350A/G多態(tài)位點(diǎn)熒光素酶表達(dá)載體的構(gòu)建與鑒定及活性檢測(cè)
      Translation and Dissemination of Critique of the Gotha Program in China in the Early Times〔* 〕
      C++運(yùn)算符重載剖析
      煙堿型乙酰膽堿受體基因多態(tài)與早發(fā)性精神分裂癥的關(guān)聯(lián)研究
      南汇区| 武强县| 南木林县| 舒城县| 通山县| 临澧县| 大悟县| 平江县| 银川市| 江达县| 宾阳县| 天柱县| 石渠县| 镇远县| 文山县| 栖霞市| 丰镇市| 溧阳市| 曲麻莱县| 马关县| 甘洛县| 垣曲县| 平塘县| 舞钢市| 孟连| 鄯善县| 永清县| 方城县| 荣成市| 桦甸市| 克什克腾旗| 双辽市| 柘荣县| 米易县| 伊川县| 普安县| 永福县| 习水县| 抚宁县| 吉林省| 安泽县|