#include
using namespace std;
// 基類
class animal
// 虛函式
virtual void sleep()
};class cat :public animal
// 虛函式 的重定義 *****> 函式重寫
void sleep()
};class fish :public animal
// 函式 重定義
void sleep()
};// 基類指標
// 期望做的事情:同樣的呼叫語句
// 1、當基類指標指向基類物件的時候,呼叫基類自己的成員函式
// 2、當基類指標指向派生類物件的時候,呼叫派生類的同名成員函式
// *****> 多型:一種呼叫語句有多種不同的表現形態
// *****> 實現:通過 虛函式 來實現 ---> 在函式宣告前加 virtua 關鍵字,該函式就變為虛函式
void func(animal *pa)
// 多型實現條件:
// 1、要有繼承
// 2、要有虛函式
// 3、要有基類指標指向派生類物件
int main()
int main1()
動態多型 虛函式
使用平台 vs2013 動態多型 動態繫結 在程式執行期間,判斷所引用物件的實際型別,根據實際的型別呼叫相應的方法。動態繫結的條件 1.必須是虛函式 2.通過基類型別的引用或者指標來呼叫虛函式。對於有虛函式的類,編譯器都會維護一張表,物件的前四個位元組就是指向虛表的指標。重寫 覆蓋 不再同一作用域 ...
C 學習筆記23 虛函式和多型
虛函式 1 虛函式定義 在類的定義中,前面有virtual關鍵字的成員函式就是虛函式。class base 2 int base get virtual關鍵字只用在類定義裡的函式宣告中,寫函式體時不用。建構函式和靜態成員函式不能是虛函式 3 虛函式和普通函式差別 虛函式可以參與多型,而普通函式不可以...
學習虛函式 多型
ifndef person h define person h include using namespace std class person virtual void output 此處寫了分號,後面就要再定義寫成 這樣才有函式體 class student public person clas...