新手入門: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 他們是通過參數的類型或個數來內部重命名的,關于這個作爲程序員不需要去了解它,說一下只是爲了解釋大家心中的疑問而已。好了,關于函數學重載的基礎知識就說到這裏,至于如何利用這個功能,就靠大家在日常的學習或者是工作中逐漸摸索了。

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

C++中的運算符重載函數基礎及其值返回狀態
C++中的運算符重載函數基礎及其值返回狀態
  運算符重載是C++的重要組成部分,它可以讓程序更加的簡單易懂,簡單的運算符使用可以使複雜函數的理解更直觀。   對于普通對象來說我們很自然的會頻繁使用算數運算符讓他們參與計算,但是對于自定義類的對象來...查看完整版>>C++中的運算符重載函數基礎及其值返回狀態
 
C++面向對象編程入門:構造函數與析構函數
  請注重,這一節內容是c++的重點,要非凡注重!   我們先說一下什麽是構造函數。   上一個教程我們簡單說了關...查看完整版>>C++面向對象編程入門:構造函數與析構函數
 
c++面向對象的編程入門篇--類構造函數與析構函數
請注重,這一節內容是c++的重點,要非凡注重! 我們先說一下什麽是構造函數? 上一個教程我們簡單說了關于類的一些基...查看完整版>>c++面向對象的編程入門篇--類構造函數與析構函數
 
新手學堂:C++ STL編程輕松入門-C/C++
  作爲C++標准不可缺少的一部分,STL應該是滲透在C++程序的角角落落裏的。STL不是實驗室裏的寵兒,也不是程序員桌上的擺設,她的激動人心並非昙花一現。本教程旨在傳播和普及STL的基礎知識,若能借此機會爲STL的推...查看完整版>>新手學堂:C++ STL編程輕松入門-C/C++
 
新手入門:C++中布爾類型
  布爾類型對象可以被賦予文字值true或者false,所對應的關系就是真與假的概念。   我們通常使用的方法是利用他來判定條件的真與假,例如下面的代碼: ...查看完整版>>新手入門:C++中布爾類型
 
新手入門:C++下的引用類型
引用類型也稱別名,它是個很有趣的東西。在c++ 下你可以把它看作是另外的一種指針,通過引用類型我們同樣也可以間接的操作對象,引用類型主要是用在函數的形式參數上,通常我們使用它是把類對象傳遞給一個函數。 =版...查看完整版>>新手入門:C++下的引用類型
 
C/C++中的函數參數傳遞機制
浏覽選項: 顔色 默認 灰度 橄榄色 綠色 藍色 褐色 紅色 C/C++中的函數參數傳遞機制 作者:楊甯 發布時間:2000/11/30 文章摘要:  本文論述了在 C 和 C++ 中函數調用的參數傳遞機制;同時附帶說明了函數返回...查看完整版>>C/C++中的函數參數傳遞機制
 
C/C++中的多線程入門源碼
作者: 一個很簡單的多線程程序,主要用于了解臨界區的使用#include #include #include #pragma comment(lib,"libcmt.lib")const int NLOOP = 100;int counter = 0;void doit(void*);CRITICAL_SECTION bes...查看完整版>>C/C++中的多線程入門源碼
 
Delphi中的消息鈎子函數和Windows子類處理 入門篇
首先感謝各位老鳥這麽久以來對小弟那麽多的指導,給小弟提供N多的幫助,所以才能讓我的第一篇技術文章可以這麽快和大家見面!也趁今天是小弟20歲生日呵呵,沒人給我慶祝,所以寫篇文章做個紀念,也祝我自己生日快樂!...查看完整版>>Delphi中的消息鈎子函數和Windows子類處理 入門篇
 
 
回到王朝網路移動版首頁