C 複習要點總結十一 多型(二)

2021-07-11 00:23:53 字數 1155 閱讀 2028

1)物件中的vptr指標什麼時候被初始化?

物件在建立的時,由編譯器對vptr指標進行初始化

只有當物件的構造完全結束後vptr的指向才最終確定

父類物件的vptr指向父類虛函式表

子類物件的vptr指向子類虛函式表

二 父類指標步長和子類指標步長不一致時

class parent

virtual void print()    

private:

int a; };

//成功 ,一次偶然的成功 ,必然的失敗更可怕

class child : public parent

*/ child(int b = 0):parent(0)

virtual void print()

private:

//int b; };

void howtoplay(parent *base)

void main() ;

pp = array;

pc = array;

pp->print();

pc->print(); //多型發生

pp++;

pc++;

pp->print();

pc->print(); //多型發生

pp++;

pc++;

pp->print();

pc->print(); //多型發生

c 複習要點總結之九 繼承二

一 繼承中的同名成員變數處理方法 1 當子類成員變數與父類成員變數同名時 2 子類依然從父類繼承同名成員 3 在子類中通過作用域分辨符 進行同名成員區分 在派生類中使用基類的同名成員,顯式地使用類名限定符 4 同名成員儲存在記憶體中的不同位置 繼承和static關鍵字在一起會產生什麼現象哪?理論知識...

C 複習要點總結之 友元

在c 中,類的成員訪問許可權有三種,private,protected,public。private 類中的private成員只能夠在本類中或者友元訪問,子類或外界無法訪問私有成員。protected 類中的protected成員只允許本類或者子類中訪問,外界無法訪問,定義類時如果希望成員被子類繼承...

個人紀錄 C 面試總結之一(多型)

多型分為靜態多型 動態多型。靜態多型,過載,就是在同一作用域內,函式名相同,引數不同,根據引數來確定呼叫。動態多型,重寫,主要是虛函式,父類指標指向子類物件,接著再用指標呼叫被重寫函式。乙個類有虛函式,就有虛函式表,虛函式表裡存放的就是每個虛函式的位址,若子類未重寫虛函式,那麼虛函式表中的虛函式的位...