c++核心編程之函數(shù)的重載
1.函數(shù)重載概述
?作用?:函數(shù)可以相同,提高復(fù)用性
?函數(shù)重載必須滿足的條件?:
- 1?.同一個作用域下?
- 2.?函數(shù)名稱相同?
- 3.函數(shù)?參數(shù)類型不同?或者?個數(shù)不同?或者?順序不同?
?注意?:函數(shù)的返回值不可以作為函數(shù)重載的條件
完整代碼示例:
// 函數(shù)重載的條件 //1,在同一個作用域中 //2,相同的返回值類型和函數(shù)名 //3,函數(shù)的參數(shù)個數(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; }
輸出會直接報錯:
?總結(jié)?:??函數(shù)的重載類似與漢語中的多音字,在不同的環(huán)境讀不同的音,用不同的參數(shù)環(huán)境調(diào)用不同的功能??
2.函數(shù)重載的注意事項
- 引用做為重載條件
- 函數(shù)重載碰到函數(shù)默認參數(shù)
代碼示例:
//函數(shù)重載的注意事項 //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ù)重載碰到默認參數(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ù)a變量可讀可寫,傳入函數(shù)后走可讀可寫的函數(shù) ? //func(10);//實際參數(shù)10是常量 若走int &a=10;不合法,引用無效;但能走const int &a=10; ? test(10, 20); ? //test(10);//錯誤,兩個函數(shù)都能被調(diào)用。出現(xiàn)二義性。 ? system("pause"); }
到此這篇關(guān)于c++核心編程之函數(shù)的重載的文章就介紹到這了,更多相關(guān)c++函數(shù)的重載內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++線程優(yōu)先級SetThreadPriority的使用實例
這篇文章主要介紹了C++線程優(yōu)先級SetThreadPriority的使用實例,較為詳細的講述了C++線程及其優(yōu)先級的用法,需要的朋友可以參考下2014-10-10c語言_構(gòu)建一個靜態(tài)二叉樹實現(xiàn)方法
下面小編就為大家?guī)硪黄猚語言_構(gòu)建一個靜態(tài)二叉樹實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05C語言數(shù)據(jù)結(jié)構(gòu)不掛科指南之棧&隊列&數(shù)組詳解
自考重點、期末考試必過指南,這篇文章讓你理解什么是棧、什么是隊列、什么是數(shù)組。文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2022-09-09