1、基類指向派生類的指標
2、派生類指向基類的指標
3、以及將派生類指標強制轉換為基類指標
4、將基類指標強制轉換為派生類指標
無論是基類指向派生類還是派生類指向基類,重點就是哪個類的指標就呼叫哪個類的方法,而輸出的是指標指向的物件。
基類指向派生類的指標即將派生類物件賦給基類指標,如果輸出的話,呼叫的方法是基類的方法,輸出的是基類在派生類中的成員(想要通過基類指標呼叫那些只有派生類才有的成員將會產生語法錯誤 )。
派生類指向基類的指標即將基類物件賦給派生類指標,呼叫的是派生類的方法,輸出的是基類物件的成員。
還有一點就是把基類指標直接賦給派生類指標是危險的,編譯器不允許真麼做,也不會作隱式轉換,顯示呼叫說明程式設計師已經知道了這種危險性。用派生類指標引用基類物件是個語法錯誤,如果非要這麼做的話,必須像程式中那樣,先用基類指標指向基類物件,再將基類指標強制轉換為派生類指標 。
原文出自:
基類指標指向派生類物件
成員函式一般化三個結論 include using std cout using std endl class employee class dev public employee int main 1.如果以 基類指標 指向 派生類物件 那麼經由該指標只能呼叫基類所定義的函式 2.如果以 派生類指...
基類指標指向派生類物件
父類子類指標函式呼叫注意事項 1,如果以乙個基礎類指標指向乙個衍生類物件 派生類物件 那麼經由該指標只能訪問基礎類定義的函式 靜態聯翩 2,如果以乙個衍生類指標指向乙個基礎類物件,必須先做強制轉型動作 explicit cast 這種做法很危險,也不符合生活習慣,在程式設計上也會給程式設計師帶來困擾...
基類指標指向派生類物件
派生類物件也 是 基類物件,但兩者不同。派生類物件可以當做基類物件,這是因為派生類包含基類的所有成員。但是基類物件無法被當做成派生類物件,因為派生類可能具有只有派生類才有的成員。所以,將派生類指標指向基類物件的時候要進行顯示的強制轉換,否則會使基類物件中的派生類成員成為未定義的。總結 基類指標和派生...