父類型別的變數可以指向子類的物件

2021-09-13 11:53:40 字數 333 閱讀 3236

public class base

public static void main(string args)

static void test(base base)

}class son extends base

}class son1 extends base

test()方法接收base型別的引數,main()方法中向test()傳入了base、son、son1三個類的物件.雖然在test()方法中son、son1的物件都是由base型別的變數引用,但在具體呼叫過程中,系統根據實際物件呼叫了相應的方法

父類指標可以指向子類物件,反之則不能。

最近準備考研複試內容,都是c c 選擇題,做點筆記。簡單來說,c 的多型就是靠父類指標指向子類物件 虛函式來實現的。父類指標指向子類物件,可以呼叫子類從父類繼承來的那一部分,但如果父類中宣告了virtual,則可以呼叫子類中的方法,這樣就實現了多型。而子類指標指向父類物件,可能會呼叫到父類中沒用的方...

父類指標指向子類物件的理解

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

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

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