成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

漫談C++函數重載

開發 后端
C++里的函數的最大功能就是求和,即求兩個操作數的和,一個函數實現是求兩個int型數之和,好吧下面就進行對C++函數的學習。

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

另一個實現是求兩個浮點型數之和,再一個實現是求兩個復數的和。每種實現對應著一個函數體,這些函數的名字相同,但是函數的參數的類型不同。這就是函數重載的概念。C++函數重載在類和對象的應用尤其重要。

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

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

  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++函數中調用相同名字add的兩個函數,前邊一個add()函數對應的是兩個int型數求和的函數實現,而后邊一個add()函數對應的是兩個double型數求和的函數實現。這便是函數的重載。下面舉一個在參數個數上不相同的重載函數的例子:

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

該程序中出現了函數重載,C++函數名min對應有三個不同的實現,函數的區分依據參數個數不同,這里的三個函數實現中,參數個數分別為2,3和4,在調用函數時根據實參的個數來選取不同的函數實現。

函數重載在類和對象應用比較多,尤其是在類的多態性中。在以后我們將碰到更多的在類型不同的函數重載,尤其是在結合類的繼承性和指針類型的不同,而這些都是我們以后用VC編程中經常要用到的。

【編輯推薦】

  1. 簡介學習C++總結之談
  2. C++函數進行學習探索總結筆記
  3. C++庫設計的基本構思與方法
  4. C++語言真的還有市場價值?
  5. C++庫設計的基本構思與方法
責任編輯:chenqingxiang 來源: 天極
相關推薦

2010-01-20 17:48:07

C++ 函數重載

2010-02-05 15:59:26

C++函數重載

2010-01-14 14:40:21

C++代碼

2010-01-11 15:21:18

C++語言

2011-07-20 17:16:50

C++重載函數

2010-02-04 09:26:23

C++模板函數重載

2009-05-26 09:31:00

C++重載覆蓋

2016-12-26 09:23:18

C++函數覆蓋

2010-01-18 18:04:28

靜態成員

2009-07-31 16:00:30

C#函數重載

2025-01-16 07:55:30

2010-01-21 10:14:36

C++編譯

2020-06-17 12:22:44

C覆蓋重載

2010-02-04 09:33:08

C++指針重載

2024-01-23 10:48:44

C++函數重載開發

2010-01-11 10:28:51

C++編程

2010-01-12 10:50:59

學習C++

2010-01-12 15:13:37

Visual C++環

2024-04-15 12:54:40

2009-09-01 11:28:32

C#使用函數重載
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品黄色 | av在线免费观看不卡 | 成人在线免费 | 成人免费视频网站在线看 | 精品国产乱码久久久久久牛牛 | 成人啊啊啊 | 天堂在线1 | 狠狠插天天干 | 天堂视频免费 | 国产午夜精品一区二区三区四区 | 精品久久中文字幕 | 国产在线一区二区三区 | 日本不卡一区二区三区在线观看 | 中文字幕三区 | 操操操av | 成人午夜影院 | 99精品久久久 | 中文字幕精品一区二区三区精品 | 欧美激情网站 | 中文字幕一区在线 | 久久精品69 | 色888www视频在线观看 | 欧美一区二区三区在线观看 | 国产激情福利 | 天天操夜夜爽 | 国产精品久久久久久婷婷天堂 | 欧美日韩国产精品一区二区 | 国产精品久久久久无码av | 伊人色综合久久天天五月婷 | 五月免费视频 | 欧美视频在线观看 | 亚洲成人自拍 | 国产精品视频二区三区 | 亚洲大片 | 国产日韩欧美一区二区 | 精品国产一区二区三区日日嗨 | 成人性视频在线播放 | 亚洲午夜av久久乱码 | 国产精品一区二区久久久久 | 国产欧美精品一区二区三区 | 福利av在线|