您的位置:首頁 >汽車 >

重載是什么意思_重載函數

2023-07-31 22:15:00    來源:青年汽車云小站

1、所謂函數重載是指同一個函數名可以對應著多個函數的實現。例如,可以給函數名add()定義多個函數實現,該函數的功能是求和,即求兩個操作數的和。其中,一個函數實現是求兩個int型數之和,另一個實現是求兩個浮點型數之和,再一個實現是求兩個復數的和。每種實現對應著一個函數體,這些函數的名字相同,但是函數的參數的類型不同。這就是函數重載的概念。函數重載在類和對象的應用尤其重要。

2、  函數重載要求編譯器能夠唯一地確定調用一個函數時應執行哪個函數代碼,即采用哪個函數實現。確定函數實現時,要求從函數參數的個數和類型上來區分。這就是說,進行函數重載時,要求同名函數在參數個數上不同,或者參數類型上不同。否則,將無法實現重載。

3、  參數類型上不同的重載函數

4、  下面舉一個在參數類型不同的重載函數的例子:

5、  #include

6、  int add(int, int);

7、  double add(double, double);

8、  void main()

9、  {

10、  cout<

11、  cout<

12、  }

13、  int add(int x, int y)

14、  {

15、  return x+y;

16、  }

17、  double add(double a, double b)

18、  {

19、  return a+b;

20、  }

21、  該程序中,main()函數中調用相同名字add的兩個函數,前邊一個add()函數對應的是兩個int型數求和的函數實現,而后邊一個add()函數對應的是兩個double型數求和的函數實現。這便是函數的重載。

22、  以上程序輸出結果為:

23、  15

24、  15.5

25、  參數個數上不同的重載函數

26、  下面舉一個在參數個數上不相同的重載函數的例子:

27、  #include

28、  int min(int a, int b);

29、  int min(int a, int b, int c);

30、  int min(int a, int b, int c, int d);

31、  void main()

32、  {

33、  cout<

34、  cout<

35、  }

36、  int min(int a, int b)

37、  {

38、  return a

39、  }

40、  int min(int a, int b, int c)

41、  {

42、  int t = min(a, b);

43、  return min(t,c);

44、  }

45、  int min(int a, int b, int c, int d)

46、  {

47、  int t1 = min(a, b);

48、  int t2 = min(c, d);

49、  return min(t1, t2);

50、  }

本文到此講解完畢了,希望對大家有幫助。

關鍵詞:

相關閱讀

主站蜘蛛池模板: 欧美另类杂交a| 国产精品va一级二级三级| 成人午夜兔费观看网站| 亚洲欧美中文日韩欧美| 精品一区精品二区制服| 国产一区二区影院| 91香蕉视频黄| 国产精品哟哟视频| A级国产乱理论片在线观看| 日批视频在线看| 亚欧人成精品免费观看| 欧美色图一区二区| 俄罗斯一级成人毛片| 美女扒开尿口给男人桶视频免费 | 国产一区二区三区无码免费| 九九视频在线观看视频23| 国产精品视频全国免费观看 | 欧美影院网站视频观看| 冠希与阿娇实干13分钟视频| 龙珠全彩里番acg同人本子 | 国产91精品高清一区二区三区| 黄色欧美视频在线观看| 国产精品久久久久国产精品| 91久久大香伊蕉在人线| 大尺度视频网站久久久久久久久| 一区二区三区免费在线视频| 成年人电影在线播放| 久久久久人妻一区精品| 日韩人妻无码一区二区三区综合部| 亚洲人成无码网站久久99热国产| 欧美黑人粗大xxxxbbbb| 免费a级毛片在线播放| 精品一区二区三区视频在线观看| 又大又紧又粉嫩18p少妇| 老鸭窝在线播放| 国产三级精品三级男人的天堂| 韩日一区二区三区| 国产又色又爽又黄的| 麻豆麻豆必出精品入口| 国产成人免费手机在线观看视频 | 大陆年轻帅小伙飞机gay|