函式過載
必須在同乙個類中進行
子類無法過載父類的函式,父類同名函式將被名稱覆蓋
過載是在編譯期間根據引數型別和個數決定函式呼叫
函式重寫
必須發生於父類與子類之間
並且父類與子類中的函式必須有完全相同的原型
使用virtual宣告之後能夠產生多型(如果不使用virtual,那叫重定義)
多型是在執行期間根據具體物件的型別決定函式呼叫
class parent01
{public:
parent01()
{ cout<<"parent01:printf()..do"<
parent01類中的四個func函式是函式過載。
定義乙個子類:
class child01 : public parent01
{public:
//發生了名稱覆蓋,把父類中的沒有函式引數的,這個函式abcd名稱覆蓋了。
//在子類中,是不能過載父類的函式的。編譯器就是這麼做的,順從。。。。
void abcd(int a, int b)
{ cout<<"parent01:void func()"<
C 學習筆記 函式過載
c 函式過載詳解 我們在開瓶瓶罐罐的時候,經常會遭遇因各種瓶口規格不同而找不到合適的工具的尷尬。所以有時候就為了開個瓶,家裡要備多種規格的開瓶器。同樣是開個瓶子嘛,何必這麼麻煩?於是有人發明了多功能開瓶器,不管啤酒瓶汽水瓶還是軟木塞的紅酒瓶都能輕鬆開啟。然而開瓶器的問題也會發生到程式設計中。比如我們...
C 學習筆記 函式過載
1 什麼是函式過載 c 允許在同一作用域中宣告幾個功能類似的同名函式,這些同名函式的形參列表 引數個數 型別 順序 必須不同,常用來處理實現功能類似資料型別不同的問題。int add int a,int b double add double a,double b int main 注意 main函...
C 學習筆記二函式 函式過載
函式 都以static 開頭namespace 可變引數的函式 string country china vfunc names vfunc country sayhello tom 張大虎 狗剩 console.readkey static void vfunc params string val...