国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C++之類中的函數重載學習的總結

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

掃碼添加小助手

加入工程師交流群

一、類中的函數重載:

1、函數重載的溫習:

函數重載的本質為相互獨立的不同函數

C++中通過函數名和函數參數確定函數調用

無法直接通過函數名得到函數重載函數的入口地址

函數重載必然發生在同一個作用域中

2、類中的成員函數可以進行重載:

構造函數的重載

普通成員函數的重載

靜態成員函數的重載

這里有一個問題:全局函數,普通成員函數以及靜態成員函數之間是否可以構成重載?

從上面回顧重載函數的知識中,我們要注意到一點函數重載必須發生在同一作用域里面(其他兩點問題不大),所以的構造函數和普通成員函數是可以構造重載的,而與全局函數是不可以構成重載的。

代碼測試:

輸出結果:

3、重載的意義:

通過函數名對函數功能進行提提示

通過參數列表對函數用法進行提示

擴展系統中已經存在的函數功能

這里用c語言里面的拷貝字符串函數strcpy來進行擴展演示:

代碼版本一:

輸出結果:

這里雖然結果是輸出多了,但是這個程序同時也報了段錯誤,因為buf所能存儲的能力小于s;所以為了解決這個問題,你肯定第一時間想到strncpy函數:

代碼版本二:

輸出結果:

這個函數就保護程序的安全性;但是我在c++里面既然學習了函數重載,那么久可以在原有的函數基礎上進行擴展:

代碼版本三:

輸出結果:

二、總結:

類的成員函數之間可以進行重載;

重載必須發生在同一個作用域中;

全局函數和成員函數不能構成重載關系;

重載的意義在于擴展已經存在的功能。

審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4417

    瀏覽量

    67509
  • C++
    C++
    +關注

    關注

    22

    文章

    2124

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    keil實現cc++混合編程

    參考touchgfx生成的代碼,發現了一個不需要添加--cpp11 參數的解決方法,具體操作如下。 一、創建一個空白的C文件和頭文件在頭文件定義c++文件需要調用的
    發表于 01-26 08:58

    C語言與C++的區別及聯系

    創建源文件時什么都不給,默認是.cpp。 3、返回值 C語言中,如果一個函數沒有指定返回值類型,默認返回int類型;C++,如果一個函數
    發表于 12-24 07:23

    CC++之間的聯系

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

    C語言和C++之間的區別是什么

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

    C/C++條件編譯

    條件編譯是一種在編譯時根據條件選擇性地包含或排除部分代碼的處理方法。在 C/C++ ,條件編譯使用預處理指令 #ifdef、#endif、#else 和 #elif 來實現。常用的條件編譯指令有
    發表于 12-05 06:21

    C++程序異常的處理機制

    1、什么是異常處理? 有經驗的朋友應該知道,在正常的CC++編程過程難免會碰到程序不按照原本設計運行的情況。 最常見的有除法分母為零,數組越界,內存分配失效、打開相應文件失敗等等。 一個程序
    發表于 12-02 07:12

    C/C++代碼靜態測試工具Perforce QAC 2025.3的新特性

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

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

    和PiGPIO等庫,C++可用于編程控制樹莓派的GPIO引腳。它提供了更好的性能和控制能力,非常適合對速度和精度要求較高的硬件項目。在樹莓派社區,關于“Python
    的頭像 發表于 08-06 15:33 ?4153次閱讀
    技能+1!如何在樹莓派上使用<b class='flag-5'>C++</b>控制GPIO?

    C語言中的內聯函數與宏

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

    深入理解C語言:函數—編程的“積木塊”藝術

    在編程的世界里,函數就像建筑的“積木塊”——它們是構建復雜程序的基石。通過靈活組合這些模塊,開發者能打造出功能強大且結構清晰的代碼。函數之所以成為C語言的核心,正是因為它解決了編程
    的頭像 發表于 06-30 17:26 ?1866次閱讀
    深入理解<b class='flag-5'>C</b>語言:<b class='flag-5'>函數</b>—編程<b class='flag-5'>中</b>的“積木塊”藝術

    請問如何在C++中使用NPU上的模型緩存?

    無法確定如何在 C++ 的 NPU 上使用模型緩存
    發表于 06-24 07:25

    在OpenVINO? C++代碼啟用 AddressSanitizer 時的內存泄漏怎么解決?

    在 OpenVINO? C++代碼啟用 AddressSanitizer 時遇到內存泄漏: \"#0 0xaaaab8558370 in operator new(unsigned
    發表于 06-23 07:16

    基于LockAI視覺識別模塊:C++目標檢測

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

    主流的 MCU 開發語言為什么是 C 而不是 C++

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

    C++學到什么程度可以找工作?

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