C 多型特性

2021-08-16 05:10:39 字數 521 閱讀 2435

·

編譯時多型性(靜態多型):通過過載函式實現(

函式過載條件:形參的個數或資料型別不同

·

執行時多型性(動態多型):通過虛函式實現

產生多型條件 1

指向子類的基類指標2有

virtual

修飾的函式

3通過指標呼叫相應的虛函式

派生類的函式

遮蔽了與其同名的基類函式

如果派生類的函式與基類的函式同名,但是引數不同。此時,不論有無virtual關鍵字,基類的函式將被隱藏(注意別與過載混淆,過載是在同乙個類中,而隱藏涉及派生類與基類)

如果派生類的函式與基類的函式同名,並且引數也相同,但是基類函式沒有virtual關鍵字。此時,基類的函式被隱藏(注意別與覆蓋混淆,覆蓋有virtual關鍵字)

**例項:

#includeusing namespace std;

//基類物件

class base

C 的多型特性

多型性 polymorphisn 是允許你將父物件設定成為和乙個或更多的他的子物件相等的技術,賦值之後,父物件就可以根據當前賦值給它的子物件的特性以不同的方式運作。簡單的說,就是一句話 允許將子類型別的指標賦值給父類型別的指標。多型包括靜態多型就是過載和動態多型覆蓋。這裡主要講動態多型。c 多型性是...

C 特性之多型

今天學習了一下多型的有關知識。在 c primer 書中,多型特性似乎只在書的後半部分 oo 裡面提到。雖然是物件導向中很重要的乙個概念,但是並未單獨開出乙個章節來介紹。網上找了一些多型的介紹和程式,總結如下 其底層含義是大記憶體 父類 中套著許多小記憶體 子類 父類 class animal 子類...

C 特性之多型

同乙個方法在派生類和基類中的不同行為稱為多中形態,簡稱多型。換句話來說,就是方法的行為應取決於呼叫該方法的物件。1.多型構成的條件 下面為大家解釋一下什麼是虛函式,以及虛函式的重寫 簡單來說,就是被virtual關鍵字修飾的類的成員函式 在虛函式宣告的後邊加上 0 表示該虛函式為純虛函式,派生類繼承...