| 導購 | 订阅 | 在线投稿
分享
 
 
 

新手入門:C++中的函數重載

來源:互聯網  2008-06-01 02:03:54  評論

函數重載是用來描述同名函數具有相同或者相似功能,但數據類型或者是參數不同的函數治理操作的稱呼。

我們來舉一個實際應用中的例子來說明問題:我們要進行兩種不同數據類型的和操作爲了實現它,在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 他們是通過參數的類型或個數來內部重命名的,關于這個作爲程序員不需要去了解它,說一下只是爲了解釋大家心中的疑問而已。好了,關于函數學重載的基礎知識就說到這裏,至于如何利用這個功能,就靠大家在日常的學習或者是工作中逐漸摸索了。

新手入門:C++中的函數重載
更多內容請看C/C++技術學堂 C/C++技術專題 Solaris基礎知識入門專題,或

  函數重載是用來描述同名函數具有相同或者相似功能,但數據類型或者是參數不同的函數治理操作的稱呼。   我們來舉一個實際應用中的例子來說明問題:我們要進行兩種不同數據類型的和操作爲了實現它,在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 他們是通過參數的類型或個數來內部重命名的,關于這個作爲程序員不需要去了解它,說一下只是爲了解釋大家心中的疑問而已。好了,關于函數學重載的基礎知識就說到這裏,至于如何利用這個功能,就靠大家在日常的學習或者是工作中逐漸摸索了。 [url=/bbs/detail_1785282.html][img]http://image.wangchao.net.cn/it/1323424028332.gif[/img][/url] 更多內容請看C/C++技術學堂 C/C++技術專題 Solaris基礎知識入門專題,或
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有