您的位置:首頁(yè) >汽車 >

重載是什么意思_重載函數(shù)

2023-07-31 22:15:00    來(lái)源:青年汽車云小站

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

2、  函數(shù)重載要求編譯器能夠唯一地確定調(diào)用一個(gè)函數(shù)時(shí)應(yīng)執(zhí)行哪個(gè)函數(shù)代碼,即采用哪個(gè)函數(shù)實(shí)現(xiàn)。確定函數(shù)實(shí)現(xiàn)時(shí),要求從函數(shù)參數(shù)的個(gè)數(shù)和類型上來(lái)區(qū)分。這就是說(shuō),進(jìn)行函數(shù)重載時(shí),要求同名函數(shù)在參數(shù)個(gè)數(shù)上不同,或者參數(shù)類型上不同。否則,將無(wú)法實(shí)現(xiàn)重載。

3、  參數(shù)類型上不同的重載函數(shù)

4、  下面舉一個(gè)在參數(shù)類型不同的重載函數(shù)的例子:

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()函數(shù)中調(diào)用相同名字add的兩個(gè)函數(shù),前邊一個(gè)add()函數(shù)對(duì)應(yīng)的是兩個(gè)int型數(shù)求和的函數(shù)實(shí)現(xiàn),而后邊一個(gè)add()函數(shù)對(duì)應(yīng)的是兩個(gè)double型數(shù)求和的函數(shù)實(shí)現(xiàn)。這便是函數(shù)的重載。

22、  以上程序輸出結(jié)果為:

23、  15

24、  15.5

25、  參數(shù)個(gè)數(shù)上不同的重載函數(shù)

26、  下面舉一個(gè)在參數(shù)個(gè)數(shù)上不相同的重載函數(shù)的例子:

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、  }

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

關(guān)鍵詞:

相關(guān)閱讀