c 各種多型機制的一些總結

2021-08-19 14:53:00 字數 485 閱讀 5724

1.對類層次中的同名成員函式來說有三種關係:overload,override,hide

過載overload:同一類定義的成員函式才有的關係,返回型別,形參型別或個數不同,但是不能只返回值不同。屬於靜態多型。

重寫override:通過虛函式實現,子類覆蓋基類的虛函式。

隱藏hide:不通過虛函式實現,子類遮蔽基類中的同名函式。

2.虛類,純虛類,抽象類和虛基類

虛類:含有虛函式的類都叫虛類。

純虛類:所有函式都是

純虛函式

的類是純虛類。純虛類可以有

成員變數

。純虛類不能例項化。

抽象類:含有純虛函式的類,只定義了protect型建構函式的類也是一種抽象類。對於乙個類,如果只定義了protect型建構函式,子類和外部都不能建立該類的物件,但可以由其派生新類,因此也是抽象類。

虛基類:繼承的時候加上關鍵字 virtual,虛繼承,這樣基類稱作虛基類,是為了解決菱形繼承問題。

C 關於多型的一些總結

多型按字面的意思就是多種形態。當類之間存在層次結構,並且類之間是通過繼承關聯時,就會用到多型。c 多型意味著呼叫成員函式時,會根據呼叫函式的物件的型別來執行不同的函式。1 什麼是多型 2 多型有什麼用 3 多型的原理是什麼 4 如何實現多型 5 c 的純虛函式 2 多型是物件導向的重要技術之一,它是...

C 多型的一些理解

1.c 中的多型,簡單來說是用基類的指標指向子類的物件,然後用這個基類指標就可以呼叫子類物件的方法 這些方法在基類中有,且被宣告為虛函式 如果乙個方法沒有被宣告為虛函式,則呼叫哪個方法取決於指標的型別。2.這是自己寫的乙個例子 class a public virtual void say clas...

c 的一些總結

1 typedef可以將變數重新命名,並且可以是幾個,中間用 隔開。2 enum 列舉型別 列舉型別就是將可能出現的結果一起儲存,每次操作只會出現乙個結果。每乙個列舉值都可對應乙個整型的資料,預設從0開始,可以顯示的說明從幾開始 eg enum 4 前向引用宣告 只能說明這是乙個類,而不能宣告物件。...