国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C++ 學習 ::【基礎篇:05】:C++ 函數(shù)重載認識及使用、簡單介紹:C++ 支持函數(shù)重載的原因

這篇具有很好參考價值的文章主要介紹了C++ 學習 ::【基礎篇:05】:C++ 函數(shù)重載認識及使用、簡單介紹:C++ 支持函數(shù)重載的原因。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本系列 C++ 相關文章 僅為筆者學習筆記記錄,用自己的理解記錄學習!C++ 學習系列將分為三個階段:基礎篇、STL 篇、高階數(shù)據(jù)結(jié)構(gòu)與算法篇,相關重點內(nèi)容如下:

  1. 基礎篇類與對象(涉及C++的三大特性等);
  2. STL 篇學習使用 C++ 提供的 STL 相關庫
  3. 高階數(shù)據(jù)結(jié)構(gòu)與算法篇手動實現(xiàn)自己的 STL 庫設計實現(xiàn)高階數(shù)據(jù)結(jié)構(gòu),如 B樹、B+樹、紅黑樹等。

學習集:

  • C++ 入門到入土?。。W習合集
  • Linux 從命令到網(wǎng)絡再到內(nèi)核!學習合集

本期內(nèi)容:C++ 函數(shù)重載


目錄:
1. 函數(shù)重載的認識
2. 函數(shù)重載示例
3. 函數(shù)重載的注意點說明
4. C++支持函數(shù)重載的原理
5. 補充:編譯器內(nèi)函數(shù)重載提示


【 C++學習合集鏈接 】


1. 函數(shù)重載的認識

函數(shù)重載:是函數(shù)的一種特殊情況,C++ 中允許再同一個作用域中聲明幾個功能相似的同名函數(shù)!這些函數(shù)的區(qū)別在于:形參列表不同!【 參數(shù)個數(shù)!參數(shù)類型!類型順序!不同!??! 】


2. 函數(shù)重載示例

問題引入:若要求實現(xiàn)任意兩個同類型值加和并返回結(jié)果。
以 int 類型為例:
C 語言中,我們會有如下設計及實現(xiàn)!

int sum(int a, int b){
	return a+b;
}

若此時還要實現(xiàn)其他類型值的加和,我們就需要對 sum 函數(shù)名進行一定的標識,以防函數(shù)名相同引發(fā)錯誤?。ǘ鄠€函數(shù)不同命名,但功能相同,顯得十分麻煩)


C++ 中的函數(shù)重載完美實現(xiàn)了對該種情況的解決!如下是 C++ 下設計實現(xiàn)的函數(shù)!使用一個函數(shù)名即可(參數(shù)列表不同)

int sum(int a, int b){
	return a+b;
}

float sum(float a, float b){
	return a+b;
}

double sum(double a, double b){
	return a+b;
}

3. 函數(shù)重載的注意點說明

  • 從對函數(shù)重載的概念中可知,重載的關鍵區(qū)別在于形參列表不同!與函數(shù)返回值類型無關!
  • 關于調(diào)用:編譯器會根據(jù)傳遞的參數(shù)進行自動匹配選擇!
  • 形參列表不同在于:參數(shù)個數(shù)、參數(shù)類型、參數(shù)類型順序不同!【 與形參名無關! 】(注意如下代碼示例)
/* 形參列表的不同:與形參名無關! */
void test(int a, int b);
void test(int b, int a);	/* 錯誤:不構(gòu)成重載! */

/* 形參列表:參數(shù)個數(shù)不同構(gòu)成重載 */
void test(int, int, int);	/* 正確! */

/* 形參列表:個數(shù)相同,類型不同:構(gòu)成重載 */
void test(int, float);		/* 正確! */

/* 形參列表:個數(shù)相同,類型順序不同:構(gòu)成重載 */
void test(float, int);

/* 返回值類型不同,不構(gòu)成重載! */
int test(int, int);			/* 錯誤! */

4. C++支持函數(shù)重載的原理

此處僅作簡單的分析!
代碼源文件運行起來需要經(jīng)歷以下幾個階段:

  • 預處理、編譯、匯編、鏈接

函數(shù)重載這種問題是在鏈接時會有體現(xiàn),當函數(shù)被調(diào)用時,編譯器會去查找對應的函數(shù)名并進行調(diào)用(編譯階段會被用特定的函數(shù)名修飾方式進行修飾(C語言函數(shù)沒有)!)。
函數(shù)名的修飾方式有很多,一般而言,修飾以后會用修飾名的后幾位來體現(xiàn)函數(shù)形參列表的參數(shù)類型情況!但是 C 語言中沒有,C語言中是直接存儲原函數(shù)函數(shù)名作為查詢標識!故 C 語言不支持重載。
【 以下是在 vs 編譯器下進行的測試!通過查看反匯編碼來查看函數(shù)調(diào)用時的函數(shù)標識 】

C++ 學習 ::【基礎篇:05】:C++ 函數(shù)重載認識及使用、簡單介紹:C++ 支持函數(shù)重載的原因

5. 補充:編譯器內(nèi)函數(shù)重載提示

C++ 學習 ::【基礎篇:05】:C++ 函數(shù)重載認識及使用、簡單介紹:C++ 支持函數(shù)重載的原因文章來源地址http://www.zghlxwxcb.cn/news/detail-461421.html


到了這里,關于C++ 學習 ::【基礎篇:05】:C++ 函數(shù)重載認識及使用、簡單介紹:C++ 支持函數(shù)重載的原因的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • C++基礎知識 (命名空間、輸入輸出、函數(shù)的缺省參數(shù)、函數(shù)重載)

    C++基礎知識 (命名空間、輸入輸出、函數(shù)的缺省參數(shù)、函數(shù)重載)

    ?? 例1: #include iostream 標準輸入輸出 std 是 c++ 標準庫的命名空間,將標準庫的定義實現(xiàn)都放到這個命名空間中 using namespace std 展開 std 里的內(nèi)容 cout ? c 代表的是 console 控制臺的意思, out 有輸出的意思 流運算符 流插入 endl 等價于 \\\'n\\\' 在 c++ 中,變量、函數(shù)和類的名稱存在于

    2024年02月15日
    瀏覽(48)
  • 【C++入門 三】學習C++缺省參數(shù) | 函數(shù)重載 | 引用

    【C++入門 三】學習C++缺省參數(shù) | 函數(shù)重載 | 引用

    缺省參數(shù)是聲明或定義函數(shù)時為函數(shù)的參數(shù)指定一個缺省值。在調(diào)用該函數(shù)時,如果沒有指定實參則采用該形參的缺省值,否則使用指定的實參。 ①全缺省參數(shù) ②半缺省參數(shù) 注意: 1. 半缺省參數(shù)必須從右往左依次來給出,不能間隔著給 2. 缺省參數(shù)不能在函數(shù)聲明和定義中

    2024年02月06日
    瀏覽(24)
  • 【C++初階】C++基礎(上)——C++關鍵字、命名空間、C++輸入&輸出、缺省參數(shù)、函數(shù)重載

    【C++初階】C++基礎(上)——C++關鍵字、命名空間、C++輸入&輸出、缺省參數(shù)、函數(shù)重載

    目錄 1.?C++ 2. 命名空間 2.1?命名空間的定義 2.2?命名空間的使用 3. C++輸入輸出 4.?缺省參數(shù) 4.1?缺省參數(shù)概念 4.2?缺省參數(shù)分類 5.?函數(shù)重載 5.1?函數(shù)重載概念 5.2 C++支持函數(shù)重載的原理——名字修飾(name Mingling) 5.3?extern \\\"C\\\" ??? 沒有堅持的努力,本質(zhì)上并沒有多

    2024年02月15日
    瀏覽(24)
  • C++模版簡單認識與使用

    C++模版簡單認識與使用

    目錄 前言: 1.泛型編程 2.函數(shù)模版 3.類模版 為什么要有類模版?使用typedef不行嗎? 類模版只能顯示實例化: 注意類名與類型的區(qū)別: 注意類模版最好不要聲明和定義分離: 總結(jié): 1.泛型編程 編寫與類型無關的通用代碼,是代碼復用的一種手段,模版是泛型編程的基礎。

    2024年04月17日
    瀏覽(20)
  • 【C++從練氣到飛升】05---運算符重載

    【C++從練氣到飛升】05---運算符重載

    ??? 個人主頁 :庫庫的里昂 ? 收錄專欄 :C++從練氣到飛升 ?? 鳥欲高飛先振翅,人求上進先讀書 。 目錄 ??推薦 一、運算符重載的引用 二、運算符重載 三、賦值運算符重載 1 .賦值運算符重載格式: 2 .賦值運算符只能重載成類的成員函數(shù)不能重載成全局函數(shù): 3 .用戶沒有

    2024年04月14日
    瀏覽(17)
  • 【C++】中類的6個默認成員函數(shù) 取地址及const成員函數(shù) && 學習運算符重載 && 【實現(xiàn)一個日期類】

    【C++】中類的6個默認成員函數(shù) 取地址及const成員函數(shù) && 學習運算符重載 && 【實現(xiàn)一個日期類】

    1.1 運算符重載【引入】 C++為了增強代碼的可讀性引入了 運算符重載 ,運算符重載是具有特殊函數(shù)名的函數(shù),也具有其返回值類型,函數(shù)名字以及參數(shù)列表,其返回值類型與參數(shù)列表與普通的函數(shù)類似。 函數(shù)名字為: operator后面接需要重載的運算符符號。 函數(shù)原型:

    2024年02月21日
    瀏覽(34)
  • 【C++】運算符重載案例 - 字符串類 ⑤ ( 重載 大于 > 運算符 | 重載 小于 < 運算符 | 重載 右移 >> 運算符 - 使用全局函數(shù)重載 | 代碼示例 )

    使用 成員函數(shù) 實現(xiàn) 等于判斷 == 運算符重載 : 首先 , 寫出函數(shù)名 , 函數(shù)名規(guī)則為 \\\" operate \\\" 后面跟上要重載的運算符 , 要對 String a , b 對象對比操作 , 使用 大于 運算符 , 使用時用法為 a b ; 函數(shù)名是 operate ; 然后 , 根據(jù)操作數(shù) 寫出函數(shù)參數(shù) , 參數(shù)一般都是 對象的引用 ; 要對

    2024年02月07日
    瀏覽(27)
  • 【MySQL系列】數(shù)據(jù)庫基礎學習_簡單認識數(shù)據(jù)庫

    【MySQL系列】數(shù)據(jù)庫基礎學習_簡單認識數(shù)據(jù)庫

    「前言」文章內(nèi)容大致是數(shù)據(jù)庫基礎,以及數(shù)據(jù)庫的基本知識。 「歸屬專欄」MySQL 「主頁鏈接」個人主頁 「筆者」楓葉先生(fy) 「楓葉先生有點文青病」「句子分享」 我見青山多嫵媚,料青山、見我應如是。 ——辛棄疾《賀新郎》 MySQL實際上是一個網(wǎng)絡服務(client/server模式

    2024年02月15日
    瀏覽(19)
  • 0基礎學C#筆記05:基礎統(tǒng)計函數(shù)的使用

    簡單介紹一下基礎統(tǒng)計函數(shù)的使用 打印結(jié)果: 代碼如下(示例): 統(tǒng)計英語最高分,最低分,總分,平均分 統(tǒng)計男生及女生各自的平均分 統(tǒng)計英語成績最高的學員的名字和成績 打印結(jié)果: 我們主要用到了lambda表達式。

    2024年02月16日
    瀏覽(15)
  • C++ operator關鍵字的使用(重載運算符、仿函數(shù)、類型轉(zhuǎn)換操作符)

    C++ operator的使用(重載運算符、仿函數(shù)、類型轉(zhuǎn)換操作符) C++11實用技術(一)auto與decltype的使用 C++11實用技術(二)std::function和bind綁定器 C++11實用技術(三)std::future、std::promise、std::packaged_task、async C++11 中,operator 是一個,用于重載運算符。通過重載運算符

    2024年02月14日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包