偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

漫談C++函數(shù)重載

開發(fā) 后端
C++里的函數(shù)的最大功能就是求和,即求兩個(gè)操作數(shù)的和,一個(gè)函數(shù)實(shí)現(xiàn)是求兩個(gè)int型數(shù)之和,好吧下面就進(jìn)行對C++函數(shù)的學(xué)習(xí)。

C++函數(shù)是C++ 語言程序的主要組成部分,一個(gè)函數(shù)可以調(diào)用其他函數(shù)。在設(shè)計(jì)良好的程序中,每個(gè)函數(shù)都有特定的目的,下文著重介紹C++函數(shù)如何解決繼承、重載的問題,保證其容真實(shí)反應(yīng)實(shí)際的函數(shù)。

另一個(gè)實(shí)現(xiàn)是求兩個(gè)浮點(diǎn)型數(shù)之和,再一個(gè)實(shí)現(xiàn)是求兩個(gè)復(fù)數(shù)的和。每種實(shí)現(xiàn)對應(yīng)著一個(gè)函數(shù)體,這些函數(shù)的名字相同,但是函數(shù)的參數(shù)的類型不同。這就是函數(shù)重載的概念。C++函數(shù)重載在類和對象的應(yīng)用尤其重要。

函數(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ù)和類型上來區(qū)分。這就是說,進(jìn)行函數(shù)重載時(shí),要求同名函數(shù)在參數(shù)個(gè)數(shù)上不同,或者參數(shù)類型上不同。否則,將無法實(shí)現(xiàn)重載。

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

  1. #include <iostream.h> 
  2.    int add(int, int);  
  3.    double add(double, double);  
  4.  
  5.    void main()  
  6.    {  
  7.        cout<<add(5, 10)<<endl;  
  8.        cout<<add(5.0, 10.5)endl;  
  9.    }  
  10.  
  11.    int add(int x, int y)  
  12.    {  
  13.        return x+y;  
  14.    }  
  15.  
  16.    double add(double a, double b)  
  17.    {  
  18.        return a+b;  
  19.    } 

該程序中,C++函數(shù)中調(diào)用相同名字add的兩個(gè)函數(shù),前邊一個(gè)add()函數(shù)對應(yīng)的是兩個(gè)int型數(shù)求和的函數(shù)實(shí)現(xiàn),而后邊一個(gè)add()函數(shù)對應(yīng)的是兩個(gè)double型數(shù)求和的函數(shù)實(shí)現(xiàn)。這便是函數(shù)的重載。下面舉一個(gè)在參數(shù)個(gè)數(shù)上不相同的重載函數(shù)的例子:

  1. #include <iostream.h> 
  2.   int min(int a, int b);  
  3.   int min(int a, int b, int c);  
  4.   int min(int a, int b, int c, int d);  
  5.  
  6.   void main()  
  7.   {  
  8.       cout<<min(13, 5, 4, 9)<<endl;  
  9.       cout<<min(-2, 8, 0)<<endl;  
  10.   }  
  11.  
  12.   int min(int a, int b)  
  13.   {  
  14.       return a<b?a:b;  
  15.   }  
  16.  
  17.   int min(int a, int b, int c)  
  18.   {  
  19.       int t = min(a, b);  
  20.       return min(t,c);  
  21.   }  
  22.  
  23.   int min(int a, int b, int c, int d)  
  24.   {  
  25.       int t1 = min(a, b);  
  26.       int t2 = min(c, d);  
  27.       return min(t1, t2);  
  28.   } 

該程序中出現(xiàn)了函數(shù)重載,C++函數(shù)名min對應(yīng)有三個(gè)不同的實(shí)現(xiàn),函數(shù)的區(qū)分依據(jù)參數(shù)個(gè)數(shù)不同,這里的三個(gè)函數(shù)實(shí)現(xiàn)中,參數(shù)個(gè)數(shù)分別為2,3和4,在調(diào)用函數(shù)時(shí)根據(jù)實(shí)參的個(gè)數(shù)來選取不同的函數(shù)實(shí)現(xiàn)。

函數(shù)重載在類和對象應(yīng)用比較多,尤其是在類的多態(tài)性中。在以后我們將碰到更多的在類型不同的函數(shù)重載,尤其是在結(jié)合類的繼承性和指針類型的不同,而這些都是我們以后用VC編程中經(jīng)常要用到的。

【編輯推薦】

  1. 簡介學(xué)習(xí)C++總結(jié)之談
  2. C++函數(shù)進(jìn)行學(xué)習(xí)探索總結(jié)筆記
  3. C++庫設(shè)計(jì)的基本構(gòu)思與方法
  4. C++語言真的還有市場價(jià)值?
  5. C++庫設(shè)計(jì)的基本構(gòu)思與方法
責(zé)任編輯:chenqingxiang 來源: 天極
相關(guān)推薦

2010-01-20 17:48:07

C++ 函數(shù)重載

2010-02-05 15:59:26

C++函數(shù)重載

2010-01-14 14:40:21

C++代碼

2010-02-04 09:26:23

C++模板函數(shù)重載

2010-01-11 15:21:18

C++語言

2011-07-20 17:16:50

C++重載函數(shù)

2016-12-26 09:23:18

C++函數(shù)覆蓋

2009-05-26 09:31:00

C++重載覆蓋

2010-01-18 18:04:28

靜態(tài)成員

2025-01-16 07:55:30

2009-07-31 16:00:30

C#函數(shù)重載

2010-01-21 10:14:36

C++編譯

2024-01-23 10:48:44

C++函數(shù)重載開發(fā)

2020-06-17 12:22:44

C覆蓋重載

2010-02-04 09:33:08

C++指針重載

2010-01-12 15:13:37

Visual C++環(huán)

2024-04-15 12:54:40

2010-01-11 10:28:51

C++編程

2010-01-12 10:50:59

學(xué)習(xí)C++

2009-09-01 11:28:32

C#使用函數(shù)重載
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號