標準C 語言 虛函式表

2021-09-26 08:39:39 字數 1300 閱讀 8586

注意:析構函式可以使用虛函式,但建構函式不可以是虛函式

ios::in:以讀許可權開啟檔案,不存在則失敗,存在不清空

ios::out:以寫許可權開啟檔案,不存在則建立,存在則清空

ios::binary:以二進位制模式進行讀寫

ios::ate:開啟時定位到檔案末尾

ios::trunc:開啟檔案時清空

fstream/ifstream/ofstream

io流有一系列格式化控制函式,類似:左對齊、右對齊、寬度、填充、小數點位數 …

二進位制讀寫:

write(char_type *__s,streamsize __n)

隨機讀寫:

獲取檔案位置指標:tellp()(無引數)

練習:使用c++標準io,實現帶覆蓋檢測的cp命令(./cp src dest)

如果用於判斷父子類的指標或引用,它不能準確判斷出實際的物件型別

可以判斷具有多型繼承關係的父子類的指標或引用,實際型別的物件

拋異常:

拋異常物件:

捕獲異常:

try
處理異常:
catch(型別 變數名)// 根據資料型別捕獲

//捕獲異常的順序是自上而下的,而不是最精準的匹配,針對子類異常捕獲時要放在父類的前面

函式的異常宣告:

設計異常類:

class error

int geterror(void)

const char* geterrmsg(void)

};

C 虛函式表

考慮最簡單的有虛函式的繼承關係 class f class s public f 此時,我們可以定義乙個父類的指標,實際指向乙個子類的物件。呼叫func函式的結果是子類的函式。虛函式在這裡是動態繫結的。f f new s f func 輸出s func 我們知道子類即使不定義虛函式也會繼承該虛函式表...

C 虛函式表

一般來說,對於開發者我們只需要知道虛函式的使用方法,以及虛函式表的存在即可。但面試時往往會遇到更細節的問題,比如讓你實現乙個虛函式機制,雖然不太實用,總歸了解些底層知識也是件好事。但如果有人苦苦相逼一定要拿這個刷人,你就去罵他吧,你才是寫編譯器的,你們全家都是寫編譯器的。唉,我有些失態了.1.虛函式...

C 虛函式表

c 中的虛函式的作用主要是實現了多型的機制。關於多型,簡而言之就是用父型別別的指標指向其子類的例項,然後通過父類的指標呼叫實際子類的成員函式。這種技術可以讓父類的指標有 多種形態 這是一種泛型技術。所謂泛型技術,說白了就是試圖使用不變的 來實現可變的演算法。比如 模板技術,rtti技術,虛函式技術,...