1)多型是一種泛型程式設計思想
2)虛函式是實現這個思想的語法基礎
多型就是同樣的**實現不能的功能,具體體現就是父類的指標指向子類的空間,這個父類指標可以指向多個不同的子類,以實現不同的功能
格式:父類名 * 指標 = new 子類名;
但是對於這個指標來說,它只能呼叫父類的函式,而不能呼叫子類的函式,因為指標如何讀空間完全是由它前面的型別來決定的
#include using namespace std;
class cfather
};class cson : public cfather
};int main()
執行結果:
簡單來說,就是在父類的同名函式前面加上乙個virtual關鍵字,使指標物件能夠呼叫子類的同名函式
virtual void fun() {}
2)這個關鍵字加在父類的函式中,且這個函式名與子類中的函式名一樣
3)多個子類的情況下,指標指向哪個子類的空間就呼叫哪個子類的同名函式
4)多型只針對於指標物件
#include using namespace std;
class cfather
};class cson1 : public cfather
};class cson2 : public cfather
};int main()
執行結果:
虛函式與多型
前三者為靜態繫結,虛函式為動態繫結 動態繫結 只有通過基類指標或引用呼叫虛函式才能引發動態繫結 虛函式不能被宣告為靜態 include using namespace std class base virtual void fun2 void fun3 class derived public ba...
虛函式與多型
多型性 呼叫同乙個函式名,可以根據需要實現不同的功能。虛函式 可以在程式執行時通過呼叫相同的函式名而實現不同功能的函式稱為虛函式。編譯時的多型性 函式過載 執行時的多型性 虛函式 執行時的多型性是指在程式執行之前,根據函式名和引數無法確定應該呼叫哪乙個函式,必須在程式的執行過程中,根據具體的執 況來...
虛函式與多型
多型性 c 支援兩種多型性 編譯時多型性,執行時多型性 虛函式 派生類可以不顯式地用virtual宣告虛函式,這時系統就會用以下規則來判斷派生類的乙個函式成員是不是虛函式 一般習慣於在派生類的函式中也使用virtual關鍵字,以增加程式的可讀性 該函式是否與基類的虛函式有相同的名稱 引數個數及對應引...