#include #include using namespace std;
int main()
void print()
virtual void print_it()
};
class derivedclass : public baseclass
virtual void print_it()
};
int main()
執行結果如下:
baseclass print_it
derived class print_it
繼承建構函式 使用using
explicit可以有效得防止建構函式的隱式轉換帶來的錯誤或者誤解(按照預設規定,只有乙個引數的建構函式也定義了乙個隱式轉換,將該建構函式對應資料型別的資料轉換為該類物件)---------用於乙個引數的建構函式中
c++中的虛函式與多型:
純虛函式:
virtual void myfunc ( ) =0;
#include using namespace std;
class a
virtual void bar()
}; class b: public a
void bar()
}; int main()
還可以參考連線來學習多型和虛函式
c++的多型性就是通過晚繫結技術來實現的,c++的多型性用一句話概括就是:在基類的函式前加上virtual關鍵字,在派生類中重寫該函式,執行時將會根據物件的實際型別來呼叫相應的函式,如果物件型別是派生類,就呼叫派生類的函式,如果物件型別是基類,就呼叫基類的函式。
下面這個例子也是拷貝上面的連線的,懂了就基本明白函式的多型了
#include #include using namespace std;
class ca
virtual void ff()
}; class cb : public ca
void ff()
}; class cc : public cb
}; int main()
基類與派生類的建構函式
一 預設建構函式的呼叫關係 通過下面的例子,我們來看一下基類與派生的建構函式的呼叫順序。建立時先基類後派生類。銷毀時先派生類後基類。include include using namespace std class cbase cbase class cderive public cbase cde...
C 中的基類與派生類
繼承方式 說明 public 基類的public和protected的成員被派生類繼承後,保持原來的狀態 private 基類的public和protected的成員被派生類繼承後,變成派生類的private成員 protected 基類的public和protected的成員被派生類繼承後,變成派...
c ,派生類無法呼叫基類建構函式
include include using namespace std class undergraduate void showinfo private char id 10 char name 10 char major 10 class graduate public undergraduat...