C 入門基礎 函式過載

2021-10-05 06:01:11 字數 1047 閱讀 1237

在生活中我們也會遇到」函式過載「,你鼓起勇氣捧起鮮花向你心儀已久的女神表白,你將花用雙手遞給女神,含情脈脈對女神說:「***,我喜歡上你了!!」,這時女神大呼流氓反手乙個耳光就跑走了,周圍圍觀的群眾紛紛豎起大拇指直呼內行,而這時的你還不知道自己說錯了什麼話,會被女神直呼流氓。 

生活中的「函式過載」就是一詞多義,在c++中函式過載就是同乙個函式名可以實現多個不同的功能

函式過載的概念:c++允許在同一作用域中宣告幾個功能類似的同名函式,這些同名函式的形參列表(引數個數 或 型別 或 順序)必須不同(與函式的返回值無關),常用來處理實現功能類似資料型別不同的問題

函式在編譯階段,編譯器會根據傳遞的實參型別進行推演,根據推演的結果選擇合適的呼叫函式

注意:若編譯器推演完成後沒有找到合適的呼叫函式,那麼編譯器會嘗試對實參進行隱式型別轉化

1 轉化完成後仍然沒有合適的呼叫函式或不能進行隱式型別轉化,則編譯失敗

2 轉化完成後找到合適的呼叫函式,

c語言不支援函式過載的原因時因為程式執行時在編譯階段對函式名修飾的問題

所以由於不同修飾規則,在函式編譯時c語言只能表示乙個函式如_add就知道是add函式,c++同乙個函式名卻可以表示不同的函式,這也就是c語言不支援過載,而c++支援過載的原因

通過這裡就理解了c語言沒辦法支援過載,因為同名函式沒辦法區分。而c++是通過函式修飾規則來區 分,只要引數不同,修飾出來的名字就不一樣,就支援了過載。 另外也理解了,為什麼函式過載要求引數不同!而跟返回值沒關係

程式設計 C 入門 函式過載

是函式的一種特殊情況,c 允許在同一作用域中宣告幾個功能類似的同名函式,這些同名函式的形參列表 引數個數或型別或順序 必須不同,常用來處理實現功能類似資料型別不同的問題 僅僅函式的返回值不同 intadd int a,char b void add int a,char b 答 無法過載僅按返回型別...

C 中的函式過載(C 入門)

函式過載是用來描述同名函式具有相同或者相似功能,但資料型別或者是引數不同的函式管理操作的稱呼。我們來舉乙個實際應用中的例子來說明問題 我們要進行兩種不同資料型別的和操作為了實現它,在c語言中我們就要寫兩個不同名稱的涵數來進行區分例如 int testa int a,int b 和float test...

C 入門筆記 函式的過載

函式過載的實質就是用同樣的名字再定義乙個有著不同引數但有著同樣用途的函式 類似於人格 多重身份 可以是引數個數的不同,也可以是引數資料型別上的不同 用的還是上個筆記裡的東西,現在我把主要的轉換步驟寫在了乙個函式裡,並且重新定義了乙個同名的但是引數型別不同的引數,在main裡我兩次輸入資料,一次是do...