阿牛哥C 筆記 9

2021-05-02 09:59:00 字數 548 閱讀 9704

第四十二講 虛基類

class a

;void a::inputa(int xx)

class b

;void b::inputb(int xx)

class c:public a,public b

;void c::output()

輸出的x是哪個呢 編譯應該會出錯了

那麼要修改output函式

void c::output()

;class a:virtual public cbase

;clsaa b:virtual public cbase

;class c:public a,public b

;void c::input(int xx)

void c::output()

能過虛基類的機制,可以實現在c類當中只有乙個cbase類的副本

虛基類是相對於它的派生類來說的,並不能孤立的說某個類是虛基類

可以把virtual看成一種繼承方式,叫虛繼承方式 容易理解一些

建議,做程式時在派生類中最好都加上virtual,

阿牛哥C 筆記 3

阿牛哥c 第十四講 實驗三 物件的釋放方法,析構函式的使用 析構函式前加 和類名相同 沒有引數 且是唯一的 不能過載 實現系統會自動的呼叫析構函式。指標變數會自動的釋放記憶體空間,所以沒有析構的說法 include include strcpy head file class cstudent 習慣...

阿牛哥C 筆記 4 1

第二十講 友元函式 定義乙個函式不是本類的函式,但可以訪問本類的成員。那需要在類中定義這個為友元函式 宣告格式 friend void visit 實驗 二十講 友元函式的使用方法 想用乙個普通函式來操作定義物件的資料成員。在類當中宣告變通函式是這個類的友元函式 include include st...

阿牛哥C 筆記 10

第四十三講 虛函式 class a class b public a class c publid b 不同層次完全一樣的函式頭 c類中將會有三個output函式 void main 完全一樣的函式頭,無法根據引數來區分 執行時能根據不同的物件選擇不同的output 函式,這種性質叫 做執行時多型 ...