c 多型性和純虛函式

2021-06-29 16:46:43 字數 754 閱讀 7298

多型性:

多型性作用於基類和子類之間,如果基類的函式加了virtual稱為虛函式,則物件呼叫的函式則是他自己的函式(就是子類則呼叫它自己的函式,不會呼叫基類同名的虛函式)。反之如果基類和子類之間同時存在同名函式,則呼叫基類函式。

#include using namespace std;

class animal

};class dog : public animal

};void testcontrustor(animal *animal)

int main()

結果將是: 「the dog color is white」。

虛函式:

純虛函式是作用於基類和子類關係中,基類宣告

了函式,卻沒有實現函式,需要在繼承基類,在子類中實現該函式。宣告的該函式是virtual字首的虛函式。

// note:your choice is c++ ide

#include using namespace std;

class animal;

class dog : public animal

};class cat : public animal

};int main()

執行結果為:「the dog color is white」和「the dog color is black」



C 中的多型性和純虛函式

c 的多型性 將子類物件的位址賦給父類物件的指標 用該指標呼叫函式時,當子類中有這樣的函式,則呼叫子類的函式,如果沒有,則呼叫父類的函式,這種技術也被稱為 遲繫結技術 如果父類的函式沒有加virtual,則此時會呼叫父類的函式,這也被稱為早期繫結。下面看例子 animal.h cpp view pl...

C 多型性和虛函式

c 的多型性,我認為就是表達相同方法的函式在不同的類中的表現形式不同 舉個例子,比如 移動這一行為,人是用兩條腿在走路,烏龜是慢慢爬,蛇是爬行,老虎是四條腿在走,魚是在游動 這就是多型性 多型性使不同的物件但是又具有某種共同屬性的物件不但可以在一定程度上共享 還能共享介面。非靜態函式宣告的前面加上v...

C 虛函式和多型性

c 為了實現多型性,提供了靜態繫結 早 或者叫做編譯期繫結 和動態繫結 晚 兩種機制。靜態繫結中包括 1 函式過載 2 運算子過載 3 子類繼承父類時,父類中的函式沒有新增virtual關鍵字 非虛函式 父類指標指向子類的位址時,呼叫和父類同名的函式則會預設呼叫父類的同名函式,子類同名函式的不會被呼...