兩個半月沒更部落格,人變得更菜了,開始挖個複習大坑。
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 在派生類中重新定義此函式,要...