C++中的函數重載

我們來舉一個實際應用中的例子來說明問題:我們要進行兩種不同數據類型的和操作爲了實現它,在c語言中我們就要寫兩個不同名稱的涵數來進行區分例如:int testa(int a,int b)和float testb(float a,floatb),這樣字是沒有問題,但是總有一點不好,這麼兩個具備極其相似操作函數我們卻起兩個不同的名字,這樣子不是很好管理,所以c++爲了方便程序員編寫程序特別引入了函數重載的概念來解決此問題,我們看看如下的代碼:

#include <iostream
using namespace std; 
int test(int a,int b); 
float test(float a,float b); 
void main() 

cout << test(1,2) << endl << test(2.1f,3.14f) << endl; 
cin.get(); 

 
int test(int a,int b) 

return a+b; 

 
float test(float a,float b) 

return a+b; 
}

        在上面的程序中我們同樣使用了兩個名爲test的函數來描述int類型和操作的和float類型和操作,這樣一來就方便了程序員對相同或者相似功能函數的管理。
  c++內部利用一種叫做名稱粉碎的機智來內部重命名同名函數,上面的例子在計算重命名後可能會是testii和testff 他們是通過參數的類型或個數來內部重命名的。

發佈了39 篇原創文章 · 獲贊 9 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章