虛函式多型

2021-09-29 02:47:48 字數 688 閱讀 2679

虛函式訪問知識點《王道程式設計師求職寶典》p163

1)與普通函式一樣,虛函式可通過物件名來呼叫,此時編譯器採用靜態聯編。通過物件名訪問虛函式時,呼叫哪個類的函式取決於定義物件名的型別。物件是基類就調基類,物件是子類就調相應的子類。

2)使用指標訪問非虛函式時,編譯器會根據指標本身的型別決定呼叫哪個函式,而不是根據指標指向的物件型別。與指標型別有關

3)使用指標訪問虛函式時,編譯器根據指標所指物件的型別決定呼叫函式(動態聯編),與指標本身型別無關。

#(

2012 微軟)

#include

using

namespace std;

class

base

virtual

char

virtualvalue()

};class

derived

:public base};

class

virtualderived

:virtual

public base

char

virtualvalue()

};intmain()

#執行結果:

a-x-a-v

virtualvalue

()為虛函式,而value

()為非虛函式。

虛函式多型

一 知識點 1 乙個操作隨著所傳遞的物件型別的不同能夠做出不同的反應,其行為模式成為多型。p413 2 基類與派生類的同名操作,只要標記上virtual,則該操作便具有多型性。p416 3 一旦標記基類的函式為虛函式,便有連鎖反應,後面繼承的類中一切同名成員函式都變成了虛函式。如果是引發實際複製動作...

多型 虛函式

繼承模式分為單繼承和多繼承 在多繼承中會有相應的一些問題產生,比如資料冗餘,二義性等問題,那麼我們要如何解決這種問題。利用虛繼承便可以解決,在虛繼承的時候由虛基表可以去除資料冗餘和二義性。那麼函式可不可以寫成是虛函式呢?寫成虛函式有什麼作用?在派生類裡重寫基類的虛函式可以實現多型。include u...

多型,虛函式,純虛函式

多型 借助虛函式,基類指標既可以使用基類 父類 的成員函式,也可以使用派生類 子類 的成員函式,它有多種形態,或多種表現方式,這就是多型 簡單說就是同一條語句可以執行不同的操作,看起來有不同表現方式,這就是多型。多型存在的三個條件 注意 派生類 子類 中的虛函式必須覆蓋 不是過載 基類 父類 中的虛...