第四十二講 虛基類
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 函式,這種性質叫 做執行時多型 ...