最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++簡(jiǎn)明講解缺省參數(shù)與函數(shù)重載的用法

 更新時(shí)間:2022年06月18日 11:32:47   作者:努力變好的zz  
所謂缺省參數(shù),顧名思義,就是在聲明函數(shù)的某個(gè)參數(shù)的時(shí)候?yàn)橹付ㄒ粋€(gè)默認(rèn)值,在調(diào)用該函數(shù)的時(shí)候如果采用該默認(rèn)值,你就無(wú)須指定該參數(shù)。C++ 允許多個(gè)函數(shù)擁有相同的名字,只要它們的參數(shù)列表不同就可以,這就是函數(shù)的重載,借助重載,一個(gè)函數(shù)名可以有多種用途

一、缺省參數(shù)

缺省參數(shù)形象來(lái)說(shuō)就是"備胎"。

1.1缺省參數(shù)概念

缺省參數(shù)是聲明或定義函數(shù)時(shí)為函數(shù)的參數(shù)指定一個(gè)默認(rèn)值。在調(diào)用該函數(shù)時(shí),如果沒(méi)有指定實(shí)參則采用該默認(rèn)值,否則使用指定的實(shí)參。

#include<iostream>
void P(int a = 3)
{
	printf("%d", a);
}
int main()
{
	P();//打印默認(rèn)值  3
	P(1);//打印傳送的值  1
	return 0;
}

1.2缺省參數(shù)分類

1.全缺省參數(shù)

void P(int a = 3,int c = 1,int b = 2)
{
	printf("%d", a);
	printf("%d", b);
	printf("%d", c);
}

二、函數(shù)重載

2.1函數(shù)重載概念

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

int Add(int left, int right)
{
return left+right;
}
double Add(double left, double right)
{
return left+right;
}
long Add(long left, long right)
{
return left+right;
}
int main()
{
Add(10, 20);
Add(10.0, 20.0);
Add(10L, 20L);
return 0;
}

觀察上方的函數(shù),我們會(huì)發(fā)現(xiàn)他們的函數(shù)名相同,參數(shù)不同(參數(shù)類型,參數(shù)順序等)只有滿足上述條件就可以進(jìn)行函數(shù)重載
注意:返回類型的不同的函數(shù)并不能進(jìn)行函數(shù)重載!

double Add(double left, double right)
{
return left+right;
}
long Add(double left, double right)
{
return left+right;
}

這就是錯(cuò)誤的函數(shù)重載

2.2名字修飾

這里我們思考個(gè)問(wèn)題,為什么C++支持函數(shù)重載而C語(yǔ)言卻不支持呢?

在C/C++中,一個(gè)程序要運(yùn)行起來(lái),需要經(jīng)歷以下幾個(gè)階段:預(yù)處理、編譯、匯編、鏈接

1.實(shí)際我們的項(xiàng)目通常是由多個(gè)頭文件和多個(gè)源文件構(gòu)成,例如在(t.cpp中調(diào)用了f.cpp中的函數(shù)add)時(shí),在鏈接前,t.o文件都沒(méi)有f.o中的add函數(shù)地址,

2.所以鏈接階段就是為了解決這個(gè)問(wèn)題的,鏈接器看到t.o調(diào)用add,但是沒(méi)有add的地址,就會(huì)到f.o的符號(hào)表中找add的地址,然后鏈接到一起。

3.在鏈接時(shí),每個(gè)編譯器的函數(shù)名修改規(guī)則的不一樣,就有可能導(dǎo)致鏈接的不同,如在gcc的編譯器下的函數(shù)修飾后名字不變。而g++的函數(shù)修飾后變成【_Z+函數(shù)長(zhǎng)度+函數(shù)名+類型首字母】。

4.C++支持函數(shù)重載而C卻不支持函數(shù)重載的原因是:C語(yǔ)言同函數(shù)名時(shí)無(wú)法區(qū)分,而C++可以同過(guò)函數(shù)參數(shù)的不同來(lái)區(qū)別同名的函數(shù)!

到此這篇關(guān)于C++簡(jiǎn)明講解缺省參數(shù)與函數(shù)重載的用法的文章就介紹到這了,更多相關(guān)C++缺省參數(shù)與函數(shù)重載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++ OpenCV實(shí)現(xiàn)像素畫(huà)的示例代碼

    C++ OpenCV實(shí)現(xiàn)像素畫(huà)的示例代碼

    這篇文章主要介紹了通過(guò)OpenCV進(jìn)行圖片像素的變化,從而形成像素畫(huà)效果的功能。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手試一試
    2022-01-01
  • c++11中std::move函數(shù)的使用

    c++11中std::move函數(shù)的使用

    本文主要介紹了c++11中std::move函數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++ override關(guān)鍵字使用詳解

    C++ override關(guān)鍵字使用詳解

    這篇文章主要介紹了C++ override關(guān)鍵字使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • 基于c++中的默認(rèn)拷貝函數(shù)的使用詳解

    基于c++中的默認(rèn)拷貝函數(shù)的使用詳解

    本篇文章對(duì)c++中默認(rèn)拷貝函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下
    2013-05-05
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易版掃雷的完整過(guò)程

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易版掃雷的完整過(guò)程

    這篇文章主要給大家介紹了關(guān)于利用C語(yǔ)言如何實(shí)現(xiàn)簡(jiǎn)易版掃雷的完整過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • C++學(xué)生信息管理系統(tǒng)

    C++學(xué)生信息管理系統(tǒng)

    這篇文章主要為大家想詳細(xì)介紹了C++學(xué)生信息管理系統(tǒng)的實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • C++11的future和promise、parkged_task使用

    C++11的future和promise、parkged_task使用

    這篇文章主要介紹了C++11的future和promise、parkged_task使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • C++中vector類的一些簡(jiǎn)單實(shí)現(xiàn)

    C++中vector類的一些簡(jiǎn)單實(shí)現(xiàn)

    C++中的std::vector是一個(gè)動(dòng)態(tài)數(shù)組(也被稱為可變大小數(shù)組)的容器類,它是C++標(biāo)準(zhǔn)庫(kù)提供的其中一種容器類,提供了方便的操作和管理動(dòng)態(tài)數(shù)組的功能,本文就給大家介紹了C++中vector類的簡(jiǎn)單實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2023-08-08
  • C++實(shí)現(xiàn)LeetCode(88.混合插入有序數(shù)組)

    C++實(shí)現(xiàn)LeetCode(88.混合插入有序數(shù)組)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(88.混合插入有序數(shù)組),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 利用Qt自帶的媒體模塊實(shí)現(xiàn)播放mp4文件

    利用Qt自帶的媒體模塊實(shí)現(xiàn)播放mp4文件

    這篇文章主要為大家詳細(xì)介紹了如何使用Qt自帶的媒體模塊,播放mp4等媒體文件功能,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考一下
    2024-04-04

最新評(píng)論

台江县| 林甸县| 黄山市| 五大连池市| 南乐县| 临沭县| 理塘县| 临江市| 莫力| 都江堰市| 松溪县| 鹿邑县| 岳阳县| 吴旗县| 曲周县| 资兴市| 邛崃市| 塔城市| 公主岭市| 镇江市| 阳城县| 收藏| 姜堰市| 霍林郭勒市| 从江县| 虞城县| 桐庐县| 斗六市| 当涂县| 永平县| 广南县| 玉林市| 微山县| 巴林右旗| 潞城市| 荔浦县| 克拉玛依市| 红河县| 金昌市| 长治县| 无锡市|