方法重載

方法重載

21. 辨別方法重載

在調(diào)用重載方法時喧锦,編譯器會根據(jù)方法的參數(shù)個數(shù)抓督、參數(shù)類型和方法屬性(const 方法),來區(qū)分不同的方法铃在,這 3 項也被稱為方法的簽名阵具。這里需要注意的是方法的簽名不包含方法的返回值定铜,也就是說方法返回值類型不作為區(qū)分重載方法的標記。

22. 方法重載的歧義現(xiàn)象

下面代碼有何錯誤揣炕?

class CCalc
{
public:
    intAdd(int one, int two) //重載 Add 方法
    {
        cout<<"第一個版本的 Add 被調(diào)用" << endl;
        return one + two;
    }
    intAdd(int one, int two)const //重載 Add 方法
    {
        cout<<"第二個版本的 Add 被調(diào)用" << endl;
        return one + two;
    }
    doubleAdd(int one, int two) //重載 Add 方法
    {
        cout<<"第三個版本的 Add 被調(diào)用" << endl;
        return one + two;
    }
};
int main(int argc, char* argv[])
{
    CCalc calc;
    calc.Add(10, 15); //調(diào)用重載方法
    return 0;
}

本題中實現(xiàn)了 3 個重載版本的 Add 方法。表面上看來第一個重載方法和第二個方法原型很相似畸陡,問題可能出在這里。其實不然丁恭,這是出題人設計的一個陷阱。問題出現(xiàn)在第一個重載方法和第三個重載方法牲览,它們的區(qū)別是方法的返回值類型不同墓陈。在進行方法重載時以參數(shù)個數(shù)跛蛋、參數(shù)類型和方法屬性(const 方法)來區(qū)分不同的方法,而不以返回值來區(qū)分痊硕。

第三個重載版本的 Add 函數(shù)出現(xiàn)錯誤。它與第一版本的 Add 函數(shù)會出現(xiàn)歧義岔绸。在執(zhí) calc.Add(10, 15); 語句時編譯器無法區(qū)分調(diào)用第一個還是第三個版本的 Add 函數(shù)理逊。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晋被,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子羡洛,更是在濱河造成了極大的恐慌,老刑警劉巖藕漱,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件崭闲,死亡現(xiàn)場離奇詭異威蕉,居然都是意外死亡,警方通過查閱死者的電腦和手機韧涨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來虑粥,“玉大人,你說我怎么就攤上這事娩贷∈罹梗” “怎么了育勺?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長涧至。 經(jīng)常有香客問我,道長南蓬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任赘方,我火速辦了婚禮,結(jié)果婚禮上窄陡,老公的妹妹穿的比我還像新娘炕淮。我一直安慰自己跳夭,他們只是感情好,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布币叹。 她就那樣靜靜地躺著,像睡著了一般颈抚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天驱富,我揣著相機與錄音,去河邊找鬼萌朱。 笑死策菜,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的又憨。 我是一名探鬼主播翠霍,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼寒匙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了躏将?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤祸憋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蚯窥,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掸鹅,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡巍沙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了句携。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡务甥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出喳篇,到底是詐尸還是另有隱情,我是刑警寧澤麸澜,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響编矾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜窄俏,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凹蜈。 院中可真熱鬧限寞,春花似錦仰坦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽妈橄。三九已至,卻和暖如春眷蚓,著一層夾襖步出監(jiān)牢的瞬間拦盹,已是汗流浹背溪椎。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留校读,地道東北人。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓歉秫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親雁芙。 傳聞我的和親對象是個殘疾皇子轧膘,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,516評論 1 51
  • 實質(zhì) 方法的重載是在同一個類中谎碍,方法與方法之間的關系。重載其實就是在類中重用方法名洞焙。java平臺靠方法簽名來區(qū)分不...
    _Dansh閱讀 875評論 0 0
  • 前言 人生苦多拯啦,快來 Kotlin ,快速學習Kotlin褒链! 什么是Kotlin? Kotlin 是種靜態(tài)類型編程...
    任半生囂狂閱讀 26,202評論 9 118
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,233評論 0 4
  • 例1:求絕對值 1甫匹、什么是方法重載 用于定義一組方法,這些方法具有相同的名稱惦费,并執(zhí)行類似的操作,但是卻使用不同的參...
    3e1094b2ef7b閱讀 657評論 0 0