C 多型的概念

2021-10-06 13:57:32 字數 590 閱讀 7565

完成某一行為,不同物件去做,會有不同的效果必須通過基類的指標或者引用呼叫虛函式

被呼叫的函式必須是虛函式,子類繼承了父類,且派生類必須對基類的虛函式進行重寫

下面來解釋這兩個條件的具體含義。

首先在編寫多型程式的時候,希望父物件裡的某個函式能實現多型功能,就必須將其加virtual修飾,且在派生物件中要對其進行重新寫,我們稱之為覆蓋或者重寫,否則會報錯。

需要單獨寫乙個函式,用來呼叫不同物件,且一定要用引用或者指標作為引數,型別必須為父類

先看乙個例子

#include

class

person};

class

student

:public person};

void

function

(person& v)

intmain()

結果:同乙個函式,給予不同物件作為引數(乙個父型別乙個派生型別),結果不同。

多型的概念

前幾天有人問我多型的概念,一時半會也沒說清。這種基本概念有時經常能問倒人,特此在這寫一下,表述我對多型的理解。多型就是明明是乙個a物體卻表現出b物體的行為。在 中,多型的實現務必要和繼承,重寫方法聯絡起來。具體的說乙個父類,乙個子類。宣告的時候用父類,賦值的時候用子類。此時執行父類例項的方法的時候,...

C 中多型的概念和意義

1 函式重寫回顧 示例 child c parent p c c.parent print 從父類中繼承 i m parent.c.print 在子類中重寫 i m child.p print 父類中定義 i m parent.不是我們期望的版本,因為 p 指向了子類物件,期望呼叫子類版本 2 面相...

c c 多型的概念

預備知識 c 賦值相容原則 乙個公有派生類的物件在使用上可以被當做基類的物件,反之則禁止。派生類的物件可以被賦值給基類物件。派生類的物件可以初始化基類的引用 指標也一樣 多型的概念 1 先期聯編 能夠在編譯時就能夠確定哪個過載的成員函式被呼叫的情況 2 後期聯編 多型性 系統在執行時,能夠根據其引數...