如何理解C 裡面的多型?

2021-09-13 03:01:45 字數 370 閱讀 1062

同樣的呼叫語句有多種不同的表現形態。

1.繼承

2.虛函式重寫

3.父類指標指向子類物件

(1)靜態多型(過載,模板)

是在編譯的時候,就確定呼叫函式的型別。

(2)動態多型(覆蓋,虛函式)

在執行的時候,才確定呼叫的是哪個函式,動態繫結。執行基類指標指向派生類的物件,並呼叫派生類的函式。

虛函式實現原理:虛函式表和虛函式指標。

純虛函式: virtual int fun() = 0;

函式的執行版本由實參決定,在執行時選擇函式的版本,所以動態繫結又稱為執行時繫結。

當編譯器遇到乙個模板定義時,它並不生成**。只有當例項化出模板的乙個特定版本時,編譯器才會生成**。

node裡面的buffer理解

node提供了專門讀寫檔案的模組,檔案內容都是2進製存放在記憶體中的 node讀取檔案的結果都是16進製制,那麼你要學會進製轉換,二進位制0b開頭 八進位制0開頭,十六進製制0x 基礎知識 1位元組 8bit 乙個漢字 3位元組,在不同的編碼下位元組個數還有不同的 乙個英文 1位元組 buffer裡...

c 如何遍歷刪除map vector裡面的元素

新技能get 對於c 裡面的容器,我們可以使用iterator進行方便的遍歷.但是當我們通過iterator對vector map等進行修改時,我們就要小心了,因為操作往往會導致iterator失效,之後的行為都變得不可預知.比如 include include using namespace st...

C 裡面的編碼問題

1 net中的string只有unicode一種。所以編碼格式的位元組序列轉換成string時最終都是以unicode表示。2 system.text.encoding.default 是取系統的當前ansi 頁的編碼,即當前系統的編碼。在我們的機子上一般都是 gb2312 這就每次用default...