在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C++:重載、重定義和重寫的概念和區(qū)分

如意 ? 來源:CSDN ? 作者:cherrydreamsover ? 2020-06-29 11:33 ? 次閱讀

C++中我們經(jīng)常會(huì)遇見“重載、重定義、重寫”的概念,三個(gè)概念名字很像,很容易混淆,今天我們對三者進(jìn)行一個(gè)區(qū)分。

1.重載(overload

函數(shù)重載是函數(shù)的一種特殊情況,其特點(diǎn)是:

(1)在同一作用域(全局作用域、局部作用域、類作用域);

(2)函數(shù)名相同;

(3)形參列表(參數(shù)個(gè)數(shù)、參數(shù)類型、參數(shù)順序)必須不同;

(4)返回值可以不同;

(5)virtual關(guān)鍵字可有可無。

舉例:

下面,我們看一看這種情況能否構(gòu)成重載?

根據(jù)上面我們所說的重載的特點(diǎn),看起來這兩個(gè)函數(shù)好像還可以構(gòu)成重載,但實(shí)際上是不可以的,原因是:僅僅返回值類型不同,不能構(gòu)成重載!

2.重寫(覆蓋)

覆蓋是C++多態(tài)的實(shí)現(xiàn)基礎(chǔ),指派生類重新定義基類的虛函數(shù)。其特點(diǎn)是:

(1)在不同的作用域中(分別在基類和派生類中);

(2)函數(shù)名相同;

(3)參數(shù)相同;

(4)返回值類型相同(協(xié)變例外:基類中的虛函數(shù)返回Base*,派生類中返回Derived*);

(5)基類函數(shù)必須有virtual關(guān)鍵字,派生類可有可無(因?yàn)榕缮惱^承基類后就會(huì)有該關(guān)鍵字),但基類不能有static關(guān)鍵字;

(6)訪問修飾符可以不同(例如基類virtual 是 private 的,派生類中重寫改寫為 public,protected 也是可以的)。

舉例:

3.重定義(隱藏)

在繼承體系中,子類和父類中有同名成員,子類成員將屏蔽父類對成員的直接訪問。(在子類成員中,可以使用基類: :基類成員訪問)。重定義的特點(diǎn)如下:

(1)在不同的作用域中(分別在基類和派生類中);

(2)函數(shù)名相同;

(3)返回值可以不同;

(4)在基類和派生類中,只要不構(gòu)成重寫就是重定義(即:參數(shù)相同時(shí):基類沒有關(guān)鍵字virtual,基類的函數(shù)被隱藏;參數(shù)不同時(shí):無論基類有無關(guān)鍵字virtual,基類函數(shù)都被隱藏)。

舉例:

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4374

    瀏覽量

    64414
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2117

    瀏覽量

    74886
  • 重載
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    2837
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    關(guān)于C++中的函數(shù)重載機(jī)制

    函數(shù)重載C++的新增機(jī)制,是在同一個(gè)作用域中能聲明定義多個(gè)同名字的函數(shù).(我們知道函數(shù)的名字是函數(shù)代碼塊的起始地址,這個(gè)首地址能夠?qū)⒑瘮?shù)的控制權(quán)轉(zhuǎn)移給這個(gè)代碼塊的區(qū)域).在定義多個(gè)同
    發(fā)表于 10-01 17:18

    函數(shù)重載隱藏覆蓋的區(qū)別

    `1.1 覆蓋隱藏重載重載,隱藏(定義),覆蓋(重寫)—這幾個(gè)名詞看著好像很像,不過其實(shí)一樣都不一樣!!1.1.1 重載:(1)
    發(fā)表于 05-11 09:33

    關(guān)于C++虛函數(shù)是否必須重寫

    說法1:網(wǎng)上說如果不是純虛函數(shù),子類可以不重寫父類的虛函數(shù)。說法2:C++primer書上說的。所有的虛函數(shù)必須提供定義。此處的“定義”我理解為“
    發(fā)表于 05-13 11:46

    嵌入式-C++函數(shù)的重載

    的函數(shù)名定義,從而形成重載,方便使用,某種層度上函數(shù)的重載也是C++三大特性之一的多態(tài)的一種形式 三、函數(shù)重載的應(yīng)用場景 #include
    發(fā)表于 06-28 13:54

    C++語言基礎(chǔ)講解視頻常量的定義和使用

    C++語言基礎(chǔ)講解視頻常量的定義和使用,喜歡的朋友可以下載來學(xué)習(xí)。
    發(fā)表于 01-14 15:30 ?4次下載

    漫談java中重載重寫的不同

    多態(tài)性的一種表現(xiàn)。 (2) Java的方法重載,就是在類中可以創(chuàng)建多個(gè)方法,它們具有相同的名字,但具有不同的參數(shù)和不同的定義。 調(diào)用方法時(shí)通過傳遞給它們的不同參數(shù)個(gè)數(shù)和參數(shù)類型來決定具體使用哪個(gè)方法, 這就是多態(tài)性。 (3) 重載
    發(fā)表于 09-26 17:56 ?0次下載

    C++程序設(shè)計(jì)教程之運(yùn)算符重載的詳細(xì)資料說明

    本文檔詳細(xì)介紹的是C++程序設(shè)計(jì)教程之運(yùn)算符重載的詳細(xì)資料說明主要內(nèi)容包括了:1. 什么是運(yùn)算符重載,2. 運(yùn)算符重載的方法,3. 重載運(yùn)算
    發(fā)表于 03-14 16:04 ?4次下載
    <b class='flag-5'>C++</b>程序設(shè)計(jì)教程之運(yùn)算符<b class='flag-5'>重載</b>的詳細(xì)資料說明

    干貨:三大實(shí)例講解三種C++運(yùn)算符重載

    本章節(jié)主要講解是運(yùn)算符重載。運(yùn)算符重載是賦予運(yùn)算符能操作自定義類型的功能。C++運(yùn)算符重載主要分為以下三類:
    的頭像 發(fā)表于 09-30 16:59 ?3685次閱讀
    干貨:三大實(shí)例講解三種<b class='flag-5'>C++</b>運(yùn)算符<b class='flag-5'>重載</b>

    C++之操作重載符學(xué)習(xí)的總結(jié)(二)

    復(fù)數(shù)的概念可以通過自定義類實(shí)現(xiàn);復(fù)數(shù)中的運(yùn)算操作可以通過操作符重載實(shí)現(xiàn);賦值操作符只能通過成員函數(shù)實(shí)現(xiàn);操作符重載的本質(zhì)為函數(shù)定義
    的頭像 發(fā)表于 12-24 16:26 ?764次閱讀

    C++之操作符重載學(xué)習(xí)的總結(jié)

    操作符重載c++的強(qiáng)大特性之一;操作符重載的本質(zhì)是通過函數(shù)擴(kuò)展操作符的功能;operator 關(guān)鍵字是實(shí)現(xiàn)操作符重載的關(guān)鍵。
    的頭像 發(fā)表于 12-24 16:36 ?856次閱讀

    C++重載函數(shù)學(xué)習(xí)總結(jié)

    函數(shù)重載c++c的一個(gè)重要升級;函數(shù)重載通過參數(shù)列表區(qū)分不同的同名函數(shù);extern關(guān)鍵字能夠?qū)崿F(xiàn)c
    的頭像 發(fā)表于 12-24 17:10 ?997次閱讀

    C++中不一樣的重載是什么

    這里想分享C++中一個(gè)不一樣的重載,即const重載
    的頭像 發(fā)表于 02-21 14:02 ?1013次閱讀
    <b class='flag-5'>C++</b>中不一樣的<b class='flag-5'>重載</b>是什么

    C++基礎(chǔ)知識之函數(shù)1

    函數(shù)是 C++ 中的一個(gè)重要概念,它可以讓我們將一段代碼封裝起來,然后在需要的時(shí)候調(diào)用它。C++ 中的函數(shù)有以下幾個(gè)特點(diǎn): * 函數(shù)可以有參數(shù)和返回值。 * 函數(shù)可以被其他函數(shù)調(diào)用。 * 函數(shù)可以被
    的頭像 發(fā)表于 04-03 10:34 ?807次閱讀

    Python 重載重寫概念

    ,隨后不久我便意識到犯下了一個(gè)錯(cuò)誤。 我們先來看看重載重寫概念重載重載的條件如下: 1.一個(gè)類里面 2.方法名字相同 3.參數(shù)不
    的頭像 發(fā)表于 11-03 15:13 ?871次閱讀
    Python <b class='flag-5'>重載</b>與<b class='flag-5'>重寫</b>的<b class='flag-5'>概念</b>

    java中的重載重寫的區(qū)別

    Java中的重載(Overload)和重寫(Override)是兩個(gè)重要的面向?qū)ο缶幊?b class='flag-5'>概念,盡管它們在使用和功能上有所不同,但它們都與方法和多態(tài)性相關(guān)。本文將全面介紹重載
    的頭像 發(fā)表于 11-17 17:13 ?958次閱讀
    主站蜘蛛池模板: 国产日本在线播放 | 午夜黄大色黄大片美女图片 | 婷婷丁香视频 | 女人夜夜春 | 欧美午夜小视频 | 在线另类 | 国产一级又色又爽又黄大片 | 男人的天堂视频网站清风阁 | 在线免费观看毛片网站 | 人人做人人爽久久久精品 | 亚洲午夜网站 | 四虎永久免费在线 | 免费在线你懂的 | 五月婷婷深爱 | 日本在线视频一区二区三区 | 中文字幕有码在线视频 | 欧美精品一区二区三区视频 | 华人永久免费视频 | 精品一区二区三区在线视频 | 久久精品免费观看久久 | 天天做天天爱天天综合网 | 特级毛片免费视频观看 | 婷婷六月丁 | 免费欧洲美女与动zooz | 九九午夜 | 色老头一区二区三区在线观看 | 调教双性学霸美人 | 97午夜理伦片在线影院 | 男女视频免费观看 | 中文在线三级中文字幕 | 天天干天天夜 | 婷婷在线观看网站 | 特级淫片aaaa毛片aa视频 | 免费网站在线视频美女被 | 国模绪| 4455ee日本高清免费观看 | 亚洲午夜一区二区三区 | 亚洲黄色三级视频 | 婷婷综合丁香 | 看真人一级毛多毛片 | 午夜视频一区 |