真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++函數(shù)重載:女友說的話到底是什么意思?-創(chuàng)新互聯(lián)

在這里插入圖片描述

成都創(chuàng)新互聯(lián)公司是專業(yè)的銅鼓網(wǎng)站建設(shè)公司,銅鼓接單;提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行銅鼓網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
  • 👑專欄內(nèi)容:C++學(xué)習(xí)筆記
  • ?個(gè)人主頁:子夜的星的主頁
  • 💕座右銘:日拱一卒,功不唐捐

目錄
  • 一、前言
  • 二、函數(shù)重載
    • 1、函數(shù)重載概念
    • 2、函數(shù)重載的分類
      • Ⅰ、參數(shù)類型不同
      • Ⅱ、參數(shù)個(gè)數(shù)不同
      • Ⅲ、參數(shù)類型順序不同
    • 3、函數(shù)重載的原理
      • Ⅰ、在Linux下
      • Ⅱ、在Windows下
      • Ⅲ、原理總結(jié)


一、前言

C語言小朋友,最近談了個(gè)女朋友,但是他很苦惱。因?yàn)樗?jīng)常不能理解自己女朋友說話的意思。小C第一次和女友約會(huì)時(shí),自己先到了對(duì)方卻還沒出門,電話詢問,女友表示“你給我等著!”,于是聽話的小C就站在原地等待女友的到來。第二次約會(huì),自己沒到女友卻先到了,接到電話,女友表示“你給我等著!”于是小C馬上向上次一樣站在原地等待,但是這次卻沒有等到女友的到來。

小C對(duì)這一現(xiàn)象表示十分的不理解。明明是一句話,為什么女友執(zhí)行的卻是不同的操作?

對(duì)于這個(gè)問題,小C找到了自己戀愛經(jīng)驗(yàn)豐富的舔狗大哥C++,想從他那找到答案。
在這里插入圖片描述

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

在自然語言中,一個(gè)詞可以有多重含義,人們可以通過上下文和語氣來判斷該詞真實(shí)的含義,即該詞被重載了。前言中,女友對(duì)小C說的“你給我等著!”就是一個(gè)具有多重含義的詞。在不的情況下表達(dá)的意思不同。

在C語言中,當(dāng)兩個(gè)函數(shù)的函數(shù)名稱一模一樣的時(shí)候,我們的程序也會(huì)無法識(shí)別到底使用那個(gè)函數(shù)。于是C語言的大哥C++在C語言的基礎(chǔ)上擴(kuò)充了函數(shù)重載。

函數(shù)重載:其實(shí)是函數(shù)的一種特殊情況,C++允許在同一作用域中聲明幾個(gè)功能類似的同名函數(shù),這些同名函數(shù)的形參列表(參數(shù)個(gè)數(shù) 或 類型 或 類型順序)不同,常用來處理實(shí)現(xiàn)功能類似數(shù)據(jù)類型不同的問題。

舉個(gè)C語言被慘拒的例子:

int Wait(int a)
{printf("寶貝!你真懂我!\n");
	return a;
}
double Wait(double a)
{printf("分手吧!你根本不懂我!\n");
	return a;
}
int main()
{Wait(1);
	Wait(1.1);
	return 0;
}

在這里插入圖片描述

2、函數(shù)重載的分類 Ⅰ、參數(shù)類型不同

為了解決C語言的情感問題,C++傳授給C語言的第一招,就是看女友(函數(shù))說話(定義)時(shí)的臉色(參數(shù)類型)。

C++現(xiàn)場撥通了女神的電話,向C語言進(jìn)行了展示:

int Wait(int a)
{printf("寶貝!你真懂我!\n");
	return a;
}
double Wait(double a)
{printf("分手吧!你根本不懂我!\n");
	return a;
}
int main()
{Wait(1);
	Wait(1.1);
	return 0;
}

在這里插入圖片描述
在這里插入圖片描述

看著C語言目瞪口呆的樣子,C++知道,這招C語言是學(xué)不會(huì)了。于是他準(zhǔn)備教小C第二招。

Ⅱ、參數(shù)個(gè)數(shù)不同

C++傳授給C語言的第二招,就是看女友(函數(shù))說話(定義)時(shí)的情緒(參數(shù)個(gè)數(shù))。

C++現(xiàn)場撥通了第二個(gè)女神的電話,并再次向C語言進(jìn)行了展示:

void Wait()
{printf("寶貝!你真懂我!\n");
}
void Wait(double a)
{printf("分手吧!你根本不懂我!\n");
}
int main()
{Wait();
	Wait(1.1);
	return 0;
}

在這里插入圖片描述
在這里插入圖片描述
C++沒有說話,看著C,他決定把自己壓箱底的東西教給他。

Ⅲ、參數(shù)類型順序不同

C++傳授給C語言的第三招,就是看女友(函數(shù))說話(定義)時(shí)的動(dòng)作(參數(shù)類型順序)。

C++現(xiàn)場撥通了第三個(gè)女神的電話,并再次向C語言進(jìn)行了展示:

void Wait(int a , double b)
{printf("寶貝!你真懂我!\n");
}
void Wait(double a, int b)
{printf("分手吧!你根本不懂我!\n");
}
int main()
{Wait(1,2.2);
	Wait(2.2,1);
	return 0;
}

在這里插入圖片描述
在這里插入圖片描述

3、函數(shù)重載的原理

C++明白,自己的老弟C語言永遠(yuǎn)不可能學(xué)會(huì)這一技能了。但是他還是把原理向C語言解釋了。
C/C++中,一個(gè)程序要運(yùn)行起來,需要經(jīng)歷以下幾個(gè)階段:預(yù)處理、編譯、匯編、鏈接。
在這里插入圖片描述
在這里插入圖片描述

實(shí)際項(xiàng)目通常是由多個(gè)頭文件和多個(gè)源文件構(gòu)成,當(dāng)前a.cpp中調(diào)用了b.cpp中定義的Add函數(shù)時(shí),編譯后鏈接前,a.o的目標(biāo)文件中沒有Add的函數(shù)地址,因?yàn)?code>Add是在b.cpp中定義的,所以Add的地址在b.o中。所以鏈接階段就是專門處理這種問題,鏈接器看到a.o調(diào)用Add,但是沒有Add的地址,就會(huì)到b.o的符號(hào)表中找Add的地址,然后鏈接到一起。面對(duì)Add函數(shù),鏈接接器會(huì)使用哪個(gè)名字去找呢?這里每個(gè)編譯器都有自己的函數(shù)名修飾規(guī)則。

Ⅰ、在Linux下

在這里插入圖片描述
在這里插入圖片描述
在linux下,采用gcc編譯完成后,函數(shù)名字的修飾沒有發(fā)生改變。而采用g++編譯完成后,函數(shù)名字的修飾發(fā)生改變,編譯器將函數(shù)參數(shù)類型信息添加到修改后的名字中。

通過上面我們可以看出gcc的函數(shù)修飾后名字不變。而g++的函數(shù)修飾后變成【_Z+函數(shù)長度+函數(shù)名+類型首字母】。

Ⅱ、在Windows下

Windows下名字修飾規(guī)則:
在這里插入圖片描述
對(duì)比Linux會(huì)發(fā)現(xiàn),windows下vs編譯器對(duì)函數(shù)名字修飾規(guī)則相對(duì)復(fù)雜難懂,但道理都是類似的。

Ⅲ、原理總結(jié)

在這里插入圖片描述

C語言沒辦法支持重載,就因?yàn)橥瘮?shù)沒辦法區(qū)分。而C++是通過函數(shù)修飾規(guī)則來區(qū)分,只要參數(shù)不同,修飾出來的名字就不一樣,就支持了重載。
在這里插入圖片描述
C++表示:如果兩個(gè)函數(shù)函數(shù)名和參數(shù)是一樣的,返回值不同。這樣是不構(gòu)成重載的,因?yàn)檎{(diào)用時(shí)編譯器沒辦法區(qū)分。

在這里插入圖片描述

📢📢📢📢📢📢
💗 你正在閱讀【子夜的星】 的博客
👍 閱讀完畢,可以點(diǎn)點(diǎn)小手贊一下
🌻 發(fā)現(xiàn)錯(cuò)誤,直接評(píng)論區(qū)中指正吧
👑如果對(duì)你有用,記得點(diǎn)個(gè)關(guān)注哦

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)頁名稱:C++函數(shù)重載:女友說的話到底是什么意思?-創(chuàng)新互聯(lián)
本文地址:http://weahome.cn/article/hhepi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部