您好,登錄后才能下訂單哦!
這篇文章主要講解了“c++函數的重載怎么實現”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“c++函數的重載怎么實現”吧!
作用:函數可以相同,提高復用性
函數重載必須滿足的條件:
1.同一個作用域下
2.函數名稱相同
3.函數參數類型不同或者個數不同或者順序不同
注意:函數的返回值不可以作為函數重載的條件
完整代碼示例:
// 函數重載的條件 //1,在同一個作用域中 //2,相同的返回值類型和函數名 //3,函數的參數個數不同或者參數順序不同或者參數類型不同 void cunc() { cout << "func()函數的重載" << endl; } void func(int a) { cout << "func(int a)函數的重載" << endl; } void fuc(double c) { cout << "func(doube c )的調用" << endl; } void func(int a,double c) { cout << "func(int a,double c)函數的調用" << endl; } //函數的返回值類型不能作為函數的重載 //int func(int a,double c) //{ // cout << "函數int func()的調用" << endl; // return 22; //} int main() { //func(3.33); //func(10,3.11); //func(210, 20); //func(10,20); system("pause"); }
輸出結果:
注意:函數的返回值類型不能作為函數的重載
int func(int a,double c) { cout << "函數int func()的調用" << endl; return 22; }
輸出會直接報錯:
總結:函數的重載類似與漢語中的多音字,在不同的環境讀不同的音,用不同的參數環境調用不同的功能
引用做為重載條件
函數重載碰到函數默認參數
代碼示例:
//函數重載的注意事項 //1、引用作為函數參數 void func(int &a) { cout << "函數function(int a)的調用" << endl; } void func(const int& a) { cout << "函數function(const int a)的調用" << endl; } //2、函數重載碰到默認參數 void test(int a) { cout << "函數test(int a)的調用" << endl; } void test(int a,int b=10) { cout << "函數test(int a,int b)的調用" << endl; } int main() { //int a = 10; //func(a);//實際參數a變量可讀可寫,傳入函數后走可讀可寫的函數 //func(10);//實際參數10是常量 若走int &a=10;不合法,引用無效;但能走const int &a=10; test(10, 20); //test(10);//錯誤,兩個函數都能被調用。出現二義性。 system("pause"); }
感謝各位的閱讀,以上就是“c++函數的重載怎么實現”的內容了,經過本文的學習后,相信大家對c++函數的重載怎么實現這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。