91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2020-12-24 17:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、C++中的函數(shù)重載:

1、函數(shù)重載的概念:

用同一個函數(shù)名定義不同的函數(shù)

當(dāng)函數(shù)名和不同的參數(shù)搭配時函數(shù)的含義不同

注意:在c語言中是沒有函數(shù)重載這個概念的。

代碼示例演示:

上面在c++編譯器里面編譯時沒有問題的,如果放在c語言編譯器里面編譯是會報錯的:

所以說c語言里面不支持函數(shù)重載。

2、函數(shù)重載至少要滿足下面的一個條件:

參數(shù)個數(shù)不同

參數(shù)類型不同

參數(shù)順序不同

比如下面兩個函數(shù)可以構(gòu)造重載函數(shù)嗎?

答案肯定是可以構(gòu)造重載函數(shù)的,讀者可以自己試試(這個比較好理解)。

3、當(dāng)函數(shù)默認(rèn)參數(shù)遇上函數(shù)重載會發(fā)生什么?

例如下面的兩個函數(shù):

到底會發(fā)生啥,我們還是看下面這個實驗:

運行結(jié)果:

從上面報錯的結(jié)果里面有一個單詞ambiguous(意思是夢棱兩可的),也就是說默認(rèn)參數(shù)這種使用時不允許的。

4、C++編譯器調(diào)用重載函數(shù)的準(zhǔn)則:

將所有同名函數(shù)作為候選者

嘗試尋找可行的候選函數(shù):

精確匹配實參

通過默認(rèn)參數(shù)能夠匹配實參

通過默認(rèn)類型轉(zhuǎn)換匹配實參

匹配失?。?/p>

最終尋找到的候選函數(shù)不唯一,則出現(xiàn)二義性,編譯失敗

無法匹配所有候選者,函數(shù)未定義編譯失敗

5、函數(shù)重載的注意事項:

重載函數(shù)在本質(zhì)上是相互獨立的不同函數(shù)

重載函數(shù)的函數(shù)類型不同

函數(shù)返回值不能作為函數(shù)重載的依據(jù)

函數(shù)重載是由函數(shù)名和參數(shù)列表決定的

代碼測試:

運行結(jié)果:

從輸出結(jié)果我們可以看出這兩個函數(shù)的入口地址不一樣,這表明這兩個函數(shù)是不同的函數(shù)。

6、小結(jié):

函數(shù)重載是c++中引入的概念

函數(shù)重載的本質(zhì)是相互獨立的不同函數(shù)

c++中通過函數(shù)名和函數(shù)參數(shù)確定函數(shù)調(diào)用

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

    關(guān)注

    7

    文章

    526

    瀏覽量

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

    關(guān)注

    22

    文章

    2123

    瀏覽量

    77105
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    keil實現(xiàn)cc++混合編程

    參考touchgfx生成的代碼,發(fā)現(xiàn)了一個不需要添加--cpp11 參數(shù)的解決方法,具體操作如下。 一、創(chuàng)建一個空白的C文件和頭文件在頭文件中定義c++文件中需要調(diào)用的函數(shù),如圖所示 二、在
    發(fā)表于 01-26 08:58

    重載型編碼器:工業(yè)巨擘的“智慧眼”

    在鋼鐵廠的軋機(jī)轟鳴中,在風(fēng)電巨輪的旋轉(zhuǎn)里,在港口龍門吊的精準(zhǔn)起落間,重載型編碼器如同工業(yè)巨擘的“智慧眼”,以毫米級精度與毫秒級響應(yīng),為重載設(shè)備注入精準(zhǔn)控制的核心動力。當(dāng)傳統(tǒng)傳感器在高溫、粉塵、強(qiáng)振
    的頭像 發(fā)表于 12-24 08:51 ?391次閱讀
    <b class='flag-5'>重載</b>型編碼器:工業(yè)巨擘的“智慧<b class='flag-5'>之</b>眼”

    C語言與C++的區(qū)別及聯(lián)系

    創(chuàng)建源文件時什么都不給,默認(rèn)是.cpp。 3、返回值 C語言中,如果一個函數(shù)沒有指定返回值類型,默認(rèn)返回int類型;C++中,如果一個函數(shù)沒有返回值則必須指定為void。 4、參
    發(fā)表于 12-24 07:23

    Amphenol ARB Series? 矩形重載連接器:工業(yè)應(yīng)用的理想

    Amphenol ARB Series? 矩形重載連接器:工業(yè)應(yīng)用的理想選 在工業(yè)電子領(lǐng)域,連接器的可靠性和性能對于設(shè)備的穩(wěn)定運行至關(guān)重要。Amphenol Sine Systems的ARB
    的頭像 發(fā)表于 12-11 11:20 ?493次閱讀

    CC++之間的聯(lián)系

    1、語法兼容性: C++完全兼容C語言的語法,這意味著任何有效的C語言程序都可以直接在C++編譯器下編譯通過。 2、底層控制: C++
    發(fā)表于 12-11 06:51

    C語言和C++之間的區(qū)別是什么

    ,尤其是在涉及到類型轉(zhuǎn)換時,會盡量防止隱式的、可能導(dǎo)致問題的類型轉(zhuǎn)換。 相比之下,C語言允許更多的靈活性,但也更容易產(chǎn)生類型相關(guān)的運行時錯誤,因為其類型檢查不如C++嚴(yán)格。 3、函數(shù)重載
    發(fā)表于 12-11 06:23

    C++程序異常的處理機(jī)制

    運行代碼進(jìn)行分離,使得程序更加模塊化;另一方面,C++的異常處理可以不需要異常處理在異常發(fā)生時的同一個函數(shù),而是可以在更上層合適的位置進(jìn)行處理。 下面,我們一起來看看C++的異常處理。 2、異常處理
    發(fā)表于 12-02 07:12

    激活函數(shù)ReLU的理解與總結(jié)

    CNN模型誕生于1989年,發(fā)明人LeCun。1998年,LeCun提出LeNet,并成功應(yīng)用于美國手寫數(shù)字識別。這是一種自下向上的一種學(xué)習(xí)方式,使用的是Tanh激活函數(shù)。 設(shè)計能夠快速訓(xùn)練精確
    發(fā)表于 10-31 06:16

    C/C++代碼靜態(tài)測試工具Perforce QAC 2025.3的新特性

    ?Perforce Validate?中?QAC?項目的相對/根路徑的支持。C++?分析也得到了增強(qiáng),增加了用于檢測 C++?并發(fā)問題的新檢查,并改進(jìn)了實體名稱和實
    的頭像 發(fā)表于 10-13 18:11 ?568次閱讀
    <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>代碼靜態(tài)測試工具Perforce QAC 2025.3的新特性

    強(qiáng)實時運動控制內(nèi)核MotionRT750(六):us級高速交互C++,為智能裝備提速

    Windows下運動控制實時內(nèi)核MotionRT750的高速交互C++
    的頭像 發(fā)表于 09-04 14:50 ?721次閱讀
    強(qiáng)實時運動控制內(nèi)核MotionRT750(六):us級高速交互<b class='flag-5'>之</b><b class='flag-5'>C++</b>,為智能裝備提速

    技能+1!如何在樹莓派上使用C++控制GPIO?

    在使用樹莓派時,你會發(fā)現(xiàn)Python和Scratch是許多任務(wù)(包括GPIO編程)中最常用的編程語言。但你知道嗎,你也可以使用C++進(jìn)行GPIO編程,而且這樣做還有不少好處。借助WiringPi
    的頭像 發(fā)表于 08-06 15:33 ?4132次閱讀
    技能+1!如何在樹莓派上使用<b class='flag-5'>C++</b>控制GPIO?

    C語言中的內(nèi)聯(lián)函數(shù)與宏

    C編程中,內(nèi)聯(lián)函數(shù)和宏都用于避免函數(shù)調(diào)用的開銷并編寫可復(fù)用的邏輯部分,但它們在工作方式和安全性方面存在顯著差異。
    的頭像 發(fā)表于 07-25 15:10 ?1900次閱讀
    <b class='flag-5'>C</b>語言中的內(nèi)聯(lián)<b class='flag-5'>函數(shù)</b>與宏

    基于LockAI視覺識別模塊:C++目標(biāo)檢測

    本文檔基于瑞芯微RV1106的LockAI凌智視覺識別模塊,通過C++語言做的目標(biāo)檢測實驗。本文檔展示了如何使用lockzhiner_vision_module::PaddleDet類進(jìn)行目標(biāo)檢測,并通過lockzhiner_vision_module::Visualize函數(shù)
    的頭像 發(fā)表于 06-06 13:56 ?833次閱讀
    基于LockAI視覺識別模塊:<b class='flag-5'>C++</b>目標(biāo)檢測

    主流的 MCU 開發(fā)語言為什么是 C 而不是 C++?

    在單片機(jī)的地界兒里,C語言穩(wěn)坐中軍帳,C++想分杯羹?難嘍。咱電子工程師天天跟那針尖大的內(nèi)存空間較勁,C++那些花里胡哨的玩意兒,在這兒真玩不轉(zhuǎn)。先說內(nèi)存這道坎兒。您當(dāng)stm32f4的256kRAM
    的頭像 發(fā)表于 05-21 10:33 ?1037次閱讀
    主流的 MCU 開發(fā)語言為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?

    C++學(xué)到什么程度可以找工作?

    C++開發(fā)的工作不僅需要深厚的編程功底,還要具備解決實際問題的能力,以及良好的溝通能力和團(tuán)隊協(xié)作精神。此外,持續(xù)學(xué)習(xí)和更新自己的知識體系也是保持競爭力的關(guān)鍵。
    發(fā)表于 03-13 10:19