c++核心編程之函數(shù)的重載
1.函數(shù)重載概述

?作用?:函數(shù)可以相同,提高復(fù)用性
?函數(shù)重載必須滿足的條件?:
- 1?.同一個(gè)作用域下?
- 2.?函數(shù)名稱相同?
- 3.函數(shù)?參數(shù)類型不同?或者?個(gè)數(shù)不同?或者?順序不同?
?注意?:函數(shù)的返回值不可以作為函數(shù)重載的條件
完整代碼示例:
// 函數(shù)重載的條件
//1,在同一個(gè)作用域中
//2,相同的返回值類型和函數(shù)名
//3,函數(shù)的參數(shù)個(gè)數(shù)不同或者參數(shù)順序不同或者參數(shù)類型不同
void cunc()
{
? cout << "func()函數(shù)的重載" << endl;
}
void func(int a)
{
? cout << "func(int a)函數(shù)的重載" << endl;
}
void fuc(double c)
{
? cout << "func(doube c )的調(diào)用" << endl;
}
void func(int a,double c)
{
? cout << "func(int a,double c)函數(shù)的調(diào)用" << endl;
}
?
//函數(shù)的返回值類型不能作為函數(shù)的重載
//int func(int a,double c)
//{
// ?cout << "函數(shù)int func()的調(diào)用" << endl;
// ?return 22;
//}
int main()
{
? //func(3.33);
? //func(10,3.11);
? //func(210, 20);
? //func(10,20);
? system("pause");
}輸出結(jié)果:

?注意:函數(shù)的返回值類型不能作為函數(shù)的重載?
int func(int a,double c)
{
? cout << "函數(shù)int func()的調(diào)用" << endl;
? return 22;
}輸出會(huì)直接報(bào)錯(cuò):

?總結(jié)?:??函數(shù)的重載類似與漢語(yǔ)中的多音字,在不同的環(huán)境讀不同的音,用不同的參數(shù)環(huán)境調(diào)用不同的功能??
2.函數(shù)重載的注意事項(xiàng)
- 引用做為重載條件
- 函數(shù)重載碰到函數(shù)默認(rèn)參數(shù)
代碼示例:
//函數(shù)重載的注意事項(xiàng)
//1、引用作為函數(shù)參數(shù)
void func(int &a)
{
? cout << "函數(shù)function(int a)的調(diào)用" << endl;?
}
void func(const int& a)
{
? cout << "函數(shù)function(const int a)的調(diào)用" << endl;
}
//2、函數(shù)重載碰到默認(rèn)參數(shù)
void test(int a)
{
? cout << "函數(shù)test(int a)的調(diào)用" << endl;
}
void test(int a,int b=10)
{
? cout << "函數(shù)test(int a,int b)的調(diào)用" << endl;
}
int main()
{
? //int a = 10;
? //func(a);//實(shí)際參數(shù)a變量可讀可寫(xiě),傳入函數(shù)后走可讀可寫(xiě)的函數(shù)
? //func(10);//實(shí)際參數(shù)10是常量 若走int &a=10;不合法,引用無(wú)效;但能走const int &a=10;
? test(10, 20);
? //test(10);//錯(cuò)誤,兩個(gè)函數(shù)都能被調(diào)用。出現(xiàn)二義性。
? system("pause");
}到此這篇關(guān)于c++核心編程之函數(shù)的重載的文章就介紹到這了,更多相關(guān)c++函數(shù)的重載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++線程優(yōu)先級(jí)SetThreadPriority的使用實(shí)例
這篇文章主要介紹了C++線程優(yōu)先級(jí)SetThreadPriority的使用實(shí)例,較為詳細(xì)的講述了C++線程及其優(yōu)先級(jí)的用法,需要的朋友可以參考下2014-10-10
C語(yǔ)言數(shù)據(jù)的存儲(chǔ)超詳細(xì)講解上篇
使用編程語(yǔ)言進(jìn)行編程時(shí),需要用到各種變量來(lái)存儲(chǔ)各種信息。變量保留的是它所存儲(chǔ)的值的內(nèi)存位置。這意味著,當(dāng)您創(chuàng)建一個(gè)變量時(shí),就會(huì)在內(nèi)存中保留一些空間。您可能需要存儲(chǔ)各種數(shù)據(jù)類型的信息,操作系統(tǒng)會(huì)根據(jù)變量的數(shù)據(jù)類型,來(lái)分配內(nèi)存和決定在保留內(nèi)存中存儲(chǔ)什么2022-04-04
c語(yǔ)言_構(gòu)建一個(gè)靜態(tài)二叉樹(shù)實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇c語(yǔ)言_構(gòu)建一個(gè)靜態(tài)二叉樹(shù)實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
C語(yǔ)言如何實(shí)現(xiàn)頭插法建立單鏈表
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)頭插法建立單鏈表的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)不掛科指南之棧&隊(duì)列&數(shù)組詳解
自考重點(diǎn)、期末考試必過(guò)指南,這篇文章讓你理解什么是棧、什么是隊(duì)列、什么是數(shù)組。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-09-09
OpenCV c++滑動(dòng)條的創(chuàng)建和使用代碼
滾動(dòng)條(Trackbar)在OpenCV中是非常方便的交互工具,它依附于特定的窗口而存在,下面這篇文章主要給大家介紹了關(guān)于OpenCV?c++滑動(dòng)條的創(chuàng)建和使用的相關(guān)資料,需要的朋友可以參考下2023-06-06

