該博文僅用於交流學習,請慎用於不論什麼商業用途,本博主保留對該博文的一切權利。
博主部落格:
什麼是方法過載?
方法過載也能夠說是函式過載,函式的多型性。
詳細來說就是將函式或者方法的名稱用於多個函式。可是引數的型別或者引數的數目不同。
在這篇blog裡面我僅僅討論類外函式的過載。
比如乙個簡單的樣例:
#include #include using namespace std;
void printf(int i){
cout<
當傳遞的引數不一樣時,將呼叫相應的函式。
可是須要注意的是。有時候編譯器會進行自己主動轉換。
能夠看到,int自己主動轉換為了char型別。
假設不希望自己主動轉換,在c++11中支援刪除指定過載函式的方法.
#include #include using namespace std;
void printf(int i){
cout<
須要注意的是:一些看起來引數不一樣的函式時不能共存的。
比如void printf(const string s){
cout<
void printf(string &s){
cout<
從編譯器的角度去看printf(s);編譯器根本不知道你到底想要呼叫哪乙個函式。
這些情況,編譯器會覺得是錯誤。
可是對於過載引用引數。這個有點不一樣。比如
編譯器將自己主動呼叫最匹配的那乙個函式。
這個就是普通的函式過載,在類外的情況。
事實上這個能夠通過模板函式來取代,而且更加高效。
#include #include using namespace std;
templatevoid printf(t t){
cout
C 學習筆記22,普通函式過載(1)
該博文僅用於交流學習,請慎用於不論什麼商業用途,本博主保留對該博文的一切權利。博主部落格 什麼是方法過載?方法過載也能夠說是函式過載,函式的多型性。詳細來說就是將函式或者方法的名稱用於多個函式。可是引數的型別或者引數的數目不同。在這篇blog裡面我僅僅討論類外函式的過載。比如乙個簡單的樣例 incl...
C 學習筆記 函式過載
c 函式過載詳解 我們在開瓶瓶罐罐的時候,經常會遭遇因各種瓶口規格不同而找不到合適的工具的尷尬。所以有時候就為了開個瓶,家裡要備多種規格的開瓶器。同樣是開個瓶子嘛,何必這麼麻煩?於是有人發明了多功能開瓶器,不管啤酒瓶汽水瓶還是軟木塞的紅酒瓶都能輕鬆開啟。然而開瓶器的問題也會發生到程式設計中。比如我們...
C 學習筆記 函式過載
1 什麼是函式過載 c 允許在同一作用域中宣告幾個功能類似的同名函式,這些同名函式的形參列表 引數個數 型別 順序 必須不同,常用來處理實現功能類似資料型別不同的問題。int add int a,int b double add double a,double b int main 注意 main函...