函式過載的實質就是用同樣的名字再定義乙個有著不同引數但有著同樣用途的函式(類似於人格**,多重身份),可以是引數個數的不同,也可以是引數資料型別上的不同
用的還是上個筆記裡的東西,現在我把主要的轉換步驟寫在了乙個函式裡,並且重新定義了乙個同名的但是引數型別不同的引數,在main裡我兩次輸入資料,一次是double一次是int,並呼叫函式這個名字的函式,我們想的是不同的引數型別應該根據引數的不同呼叫不同的函式。結果如下:
//編寫乙個溫度單位轉換程式 提示使用者以[xx.x c]或[xx.x f]的格式輸入
//要求:轉換成相應攝氏或者華氏溫度輸出
#includeint main()
void converttemperature(double templein,char typein)
if(typeout!='e') std::cout很顯然結果並沒有像我們想的一樣,只是因為犯了乙個錯誤,在進行函式的宣告時,只是宣告了第乙個函式,而並沒有宣告跟他引數不同但同名的函式,那當然在呼叫的時候會把int強制轉換成double然後呼叫第乙個函式,所以結果是double,做出的改正就是在傢伙是哪個乙個第二個函式的宣告,完整**如下:
#includeconst unsigned short add_subtract = 32;
const double ratio = 9.0/5.0;
int main()
void converttemperature(double templein,char typein)
if(typeout!='e') std::cout結果意料之中,十分開心!
這個例子我們可以體驗到:對函式進行過載,事實上可以簡化程式設計工作和提高**的可讀性。事實上過載不是真正的物件導向特徵(選擇題可能會考),他只是可以簡化程式設計工作的一種方案,而簡化工作正是c++的全部追求,越是高階語言就越是簡化處理工作。
輸入輸出流時用的《和》在c語言裡是左移和右移,但在c++裡卻是流符,原因在在cout和cin類裡對這兩個符號進行了過載。
對函式(方法)進行過載時一定要謹慎,不要「無的放矢」或「亂點鴛鴦譜」,尤其是引數型別不同的時候,確保你想呼叫函式的形參型別與你定義的一致。
要知道過載函式越多,該程式就越不容易看懂.......
注意區分過載和覆蓋(覆蓋在後面的筆記裡會有)
我們只是可以通過不同引數進行過載,但不能通過不同的返回值對函式進行過載(儘管後者也是一種區別)
對函式進行過載的目的是為了方便對不同資料型別進行同樣的處理。
//利用過載函式的方法 設計乙個程式 該程式通過函式calc()進行計算並返回顯示結果
//-當傳入乙個引數時 計算該引數的平方值
//-當傳入兩個引數時 計算該函式的積
//-當傳入三個引數時 計算該函式的和
#includeusing namespace std;
double calc(double num1);
double calc(double num1,double num2);
double calc(double num1,double num2,double num3);
int main(){
double num1,num2,num3;
//過載第乙個函式
C 中的函式過載(C 入門)
函式過載是用來描述同名函式具有相同或者相似功能,但資料型別或者是引數不同的函式管理操作的稱呼。我們來舉乙個實際應用中的例子來說明問題 我們要進行兩種不同資料型別的和操作為了實現它,在c語言中我們就要寫兩個不同名稱的涵數來進行區分例如 int testa int a,int b 和float test...
C 入門基礎 函式過載
在生活中我們也會遇到 函式過載 你鼓起勇氣捧起鮮花向你心儀已久的女神表白,你將花用雙手遞給女神,含情脈脈對女神說 我喜歡上你了!這時女神大呼流氓反手乙個耳光就跑走了,周圍圍觀的群眾紛紛豎起大拇指直呼內行,而這時的你還不知道自己說錯了什麼話,會被女神直呼流氓。生活中的 函式過載 就是一詞多義,在c 中...
程式設計 C 入門 函式過載
是函式的一種特殊情況,c 允許在同一作用域中宣告幾個功能類似的同名函式,這些同名函式的形參列表 引數個數或型別或順序 必須不同,常用來處理實現功能類似資料型別不同的問題 僅僅函式的返回值不同 intadd int a,char b void add int a,char b 答 無法過載僅按返回型別...