国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++ 函數重載

2019-11-08 03:18:12
字體:
來源:轉載
供稿:網友

C++允許用同一個函數名定義多個函數,而這些函數的參數個數和參數類型可以不相同。這就是函數重載。

注意是個數和類型都能不同

其意義在于,如果想要實現一個功能,但是由于變量類型不同或參數個數不同的情況,需要定義不同名稱的功能相同的函數,而函數重載功能可以允許用戶只定義一個函數名,這個函數名有多個不同的含義,使得一個函數名可以多用,而在調用該函數時,系統會根據實參類型和個數的不同自動找到與之匹配的函數,然后調用該函數。

所以,函數重載功能的本質是可以只用一個函數名(重載它),但是想要給這個函數名賦予多個不同的含義,還是要定義。比如要實現一個找最大值的功能,但是實參可能是int 或double類型,那么還是要定義兩個不同的函數,只是他們用了同一個名字,如下: 其實c++為了解決這個問題,提供了另一個函數模板功能: http://blog.csdn.net/chaipp0607/article/details/55546582

int max(int a,int b,int c){ if (b>a) a=b; if (c>a) a=c; return a;}double max(double a,double b,double c){ if (b>a) a=b; if (c>a) a=c; return a;}

舉個例子:函數參數個數相同,但是參數類型不同

#include <iostream> using namespace std; int main( ) { int max(int a,int b,int c); double max(double a,double b,double c); int i =1; int j =2; int k =3; int l = max(i,j,k); cout <<l<<endl; double q =1.11; double w =2.21; double e =3.31; double r = max(q,w,e); cout <<r<<endl; getchar(); return 0; } int max(int a,int b,int c){ if (b>a) a=b; if (c>a) a=c; return a;}double max(double a,double b,double c){ if (b>a) a=b; if (c>a) a=c; return a;}

運行結果: 3 3.31

舉個例子:函數參數個數不同,參數類型相同

#include <iostream> using namespace std; int main( ) { int max(int a,int b); int max(int a,int b,int c); int i =1; int j =2; int k =3; int m = max(i,j); int l = max(i,j,k); cout <<m<<endl; cout <<l<<endl; getchar(); return 0; } int max(int a,int b){ if (b>a) a=b; return a;}int max(int a,int b,int c){ if (b>a) a=b; if (c>a) a=c; return a;}

運行結果: 2 3


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 昆山市| 蕲春县| 阿拉善左旗| 鱼台县| 宜黄县| 静宁县| 抚宁县| 榆中县| 古蔺县| 天等县| 八宿县| 怀仁县| 来凤县| 广河县| 抚顺县| 邛崃市| 雷波县| 涪陵区| 贡嘎县| 哈巴河县| 若羌县| 尼木县| 漳州市| 惠来县| 桦甸市| 延安市| 集安市| 信丰县| 河间市| 十堰市| 昭通市| 迭部县| 古浪县| 武乡县| 安丘市| 如东县| 邵东县| 福州市| 察隅县| 如皋市| 怀宁县|