關於C 的子類指標指向父類

2021-07-03 15:20:06 字數 856 閱讀 1530

1,直接用基類指標引用基類物件

2,直接用派生類指標引用派生類物件

3,用基類指標引用乙個派生類物件,由於派生類物件也是基類的物件,所以這種引用是安全的,

但是只能引用基類成員。若試圖通過基類指標引用那些只在派生類中才有的成員,編譯器會報告語法錯誤。(解決該問題的答案是虛函式和多型性)

4,用派生類指標引用基類的物件。這種引用方式會導致語法錯誤。派生類指標必須先強制轉換為基類指標,這種方法是不安全的。 

而在侯捷的深入淺出mfc中第二章c++重要性質中:

1、如果你以乙個"基類之指標"指向乙個"派生類之物件",那麼經由該指標你只能呼叫該基類所定義的函式

2、如果你以乙個「派生類之指標」指向乙個「基類之物件」,你必須先做明顯的轉型操作(explicit cast),這種作法很危險。

3、如果基類和派生類都定義了「相同名稱之函式」,那麼通過物件指標呼叫成員函式時,到底呼叫了那個函式,必須視該指標的原始型別而定,而不是視指標實際所指的物件的型別而定,這與第1點其實意義相通。

關於C 的子類指標指向父類

1,直接用基類指標引用基類物件 2,直接用派生類指標引用派生類物件 3,用基類指標引用乙個派生類物件,由於派生類物件也是基類的物件,所以這種引用是安全的,但是只能引用基類成員。若試圖通過基類指標引用那些只在派生類中才有的成員,編譯器會報告語法錯誤。解決該問題的答案是虛函式和多型性 4,用派生類指標引...

關於C 的子類指標指向父類

基類指標引用派生類物件 用基類指標引用乙個派生類物件,由於派生類物件也是基類的物件,所以這種引用是安全的 但是只能引用基類成員。若試圖通過基類指標引用那些只在派生類中才有的成員,編譯器會報告語法錯誤。解決該問題的答案是虛函式和多型性?這個說法不正確吧 派生類指標引用基類的物件 用派生類指標引用基類的...

c 父類指標指向子類物件

父類子類指標函式呼叫注意事項 1,如果以乙個基礎類指標指向乙個衍生類物件 派生類物件 那麼經由該指標只能訪問基礎類定義的函式 靜態聯翩 2,如果以乙個衍生類指標指向乙個基礎類物件,必須先做強制轉型動作 explicit cast 這種做法很危險,也不符合生活習慣,在程式設計上也會給程式設計師帶來困擾...