国产探花免费观看_亚洲丰满少妇自慰呻吟_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


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

圖片精選

主站蜘蛛池模板: 简阳市| 潮州市| 德庆县| 福建省| 白城市| 尖扎县| 保康县| 临汾市| 邵阳县| 安宁市| 巴塘县| 都江堰市| 凯里市| 和平区| 紫阳县| 白银市| 曲阳县| 咸丰县| 伊宁县| 台山市| 马山县| 平泉县| 百色市| 潼南县| 嵩明县| 北碚区| 芦山县| 吴忠市| 马关县| 河南省| 泰州市| 林口县| 抚顺市| 彭泽县| 屏边| 绥化市| 临江市| 沁水县| 东光县| 丰镇市| 黄大仙区|