菱形繼承示例
//定義乙個虛基類
;//繼承之前 加上關鍵字virtual變為虛繼承
//利用開發者指令提示可以檢視資料列印內容 c1/ dl reportsingleclasslayout 類名 檔名
![在這裡插入描述]
//從基類繼承過來的資料只有乙份vbptr指向vbtable
// virtual base pointer
// vbtable記錄指標偏移量
// 指標原位址+指標偏移量得到的資料能找到age
class
sheep
:virtual
public animal
;class
tuo:
virtual
public animal
;class
sheeptuo
:public sheep,
public tuo
;void
test01()
intmain()
C 學習筆記 2
ref 和out 都是是傳遞引用,out是返回值,兩者有一定的相同之處,不過也有不同點。使用ref 前必須對變數賦值,out不用。out的函式會清空變數,即使變數已經賦值也不行,退出函式時所有 out引用的變數都要賦值,ref引用的可以修改,也可以不修改。下面是使用 out和 ref進行陣列修改的例...
C 學習筆記(2)
定義 namespace a namespace a 系統會自動合併這兩個 使用時在前面加上using namespace a 或者a var來呼叫命名空間a中的變數和函式。wchar t雙位元組型變數,佔據2位元組,而char只佔據1位元組 wchar t wc l 中國 setlocale lc...
c 學習筆記 2
迴圈 while迴圈 計數控制迴圈 counter controlled loop 標記控制的迴圈 sentinel conrolled loop 在寫迴圈的過程中容易出現多一次或者少一次的錯誤 即差一錯誤 off by one error 計算減法 簡單 include include rand ...