C 知識複習 多型 虛函式

2021-10-08 02:20:15 字數 677 閱讀 5891

兩個半月沒更部落格,人變得更菜了,開始挖個複習大坑。

1.c++的三大特性:封裝、繼承、多型。

2.多型:用一句話來概括,多型就是同一函式(方法)作用於不同的物件時,可以有不同的解釋,產生不同的執行結果。在面向程式設計中使用多型,能大大提高程式的可擴充性

#include

using

namespace std;

classa;

voiddo(

)};classb:

public a };

classc:

public b

void

fun()}

;void

call

(b & p)

intmain()

這個例子中,函式接受的引數是b類的引用,但是主函式裡提供的引數是乙個c類,此時do函式因為在b類中宣告了虛函式,通過多型會執行c中的同名函式。

3.虛函式:虛函式其實就是函式前面宣告了virtual關鍵字的函式,但是他有很多需要注意的特性:

4.純虛函式和抽象類

純虛函式沒有函式體,在類中宣告

class

a

包含純虛函式的類叫抽象類,抽象類只能作為基類派生其他類,不能宣告物件。

參考博文:c++多型

複習 C 之虛函式與多型

c 中的虛函式的作用主要是實現了多型的機制。關於多型,簡而言之就是用父類的指標指向其子類的例項,然後通過父類的指標呼叫實際子類的成員函式。這種技術可以讓父類的指標有 多種形態 這是一種泛型技術。所謂泛型技術就是試圖使用不變的 來實現可變的演算法。比如 模板技術,rtti技術,虛函式技術,要麼是試圖做...

C 多型,虛函式

在c 中可以用基類指標指向其派生類,如果乙個派生類繼承多個父類,那麼如何通過基類指標訪問同名的成員呢?如果基類a,基類b中都有函式fun 派生類在同時繼承a b後在記憶體中根據繼承的順序分配記憶體,例如在繼承列表中出現的是b,a,那麼b中的成員在a的之前,當我們用b的指標去訪問時候,編譯器便將指標指...

C 虛函式多型

由虛函式實現的動態多型性就是 同一類族中不同類的物件,對同一函式呼叫作出不同的響應。虛函式的使用方法是 1 在基類用virtual宣告成員函式為虛函式。這樣就可以在派生類中重新定義此函式,為它賦予新的功能,並能方便地被呼叫。在類外定義虛函式時,不必再加virtual。2 在派生類中重新定義此函式,要...