#include #include using namespace::std;
class a
;a::~a()
class b :public a
~b();
void update()
void print()
};b::~b()
class c :public a
~c();
void update()
void print()
};c::~c()
class d :public c
~d();
void update()
void print()
};d::~d()
int main()
a *ba = new b;
ba->update();
system("pause");
return 0;
}
繼承關係,運用基類指標指向子類物件,可以用在觀察者模式,將基類指標儲存的子類物件的容器便利,傳送給所有的子類物件。
運用很廣,有待發現運用,重點!!!!!
基類指標指向子類物件時的函式呼叫判斷
以下用來學習基類指標指向子類物件時的情況 即base pb new derived 分析其建立過程 1.new乙個子類物件,為其生成乙個指向該種子類虛函式表vtable的指標vptr,指向derived func 2.建立乙個基類指標指向它,基類沒有的成員變數將無法通過該指標解引用後呼叫,但vptr...
c 父類指標指向子類物件
父類子類指標函式呼叫注意事項 1,如果以乙個基礎類指標指向乙個衍生類物件 派生類物件 那麼經由該指標只能訪問基礎類定義的函式 靜態聯翩 2,如果以乙個衍生類指標指向乙個基礎類物件,必須先做強制轉型動作 explicit cast 這種做法很危險,也不符合生活習慣,在程式設計上也會給程式設計師帶來困擾...
父類指標指向子類物件問題
子類與父類指標呼叫相關注意事項 1,如果以乙個基礎類指標指向乙個衍生類物件 派生類物件 那麼經由該指標只能訪問基礎類定義的函式 靜態聯翩 2,如果以乙個衍生類指標指向乙個基礎類物件,必須先做強制轉型動作 explicit cast 這種做法很危險,也不符合生活習慣,在程式設計上也會給程式設計師帶來困...