//c++中的虛函式的作用主要是實現了多型的機制。關於多型,
//簡而言之就是用父型別別的指標指向其子類的例項,
//然後通過父類的指標呼叫實際子類的成員函式
//每個類都維護著一張虛函式表,
//呼叫虛函式時檢視物件是那個類,然後查表
//基類可以使用為純虛函式(virtual void print()=0),
//基類就是抽象類,要求子類實現
//過載(overload)
//1.相同作用域(同類)
//2.函式名相同
//3.引數不同(引數型別,個數,順序)
關鍵字可有可無
//
//覆蓋(重寫override)
//1.位於不同作用域(父子類)
//2.函式名稱相同
//3.引數也相同
必須有
//
//隱藏
//1.位於不同作用域(父子類)
//2.函式名稱相同
//3.引數個數不同
關鍵字可有可無
//-------------------------
//1.位於不同作用域
//2.名稱相同
//3.引數相同
//4.父類指標指向子類變數,隱藏子類方法
//5.方法是虛函式
#include "stdafx.h"
#include
using
namespace
std;
class
parclass
virtual
void
print()
void
print(
int
i)
//過載overload
virtual
~parclass()
};
class
chilclass:
public
parclass
virtual
void
print()
//覆蓋(重寫) override
~chilclass()
//為virtual
};
class
chilclass_1:
public
parclass
~chilclass_1()
};
int
_tmain(
int
argc, _tchar* argv)
虛函式 簡單介紹
當類中有虛函式的時候,編譯器會為類插入乙個我們看不見的資料並建立乙個表。這個表就是虛函式表 vtbl 那個我們看不見的資料就是指向虛函式表的指標 虛表指標 vptr 虛函式表就是為了儲存類中的虛函式的位址。我們可以把虛函式表理解成乙個陣列,陣列中的每個元素存放的就是類中虛函式的位址。當呼叫虛函式的時...
C 虛函式簡單總結
2016 07 07 14 39 187人閱讀收藏 舉報 c 59 在類的繼承層次結構中,在不同層次中可以出現名字相同 引數個數和型別都相同的函式。簡單地說,被virtual關鍵字修飾的成員函式,就是虛函式。格式 virtual 函式返回值型別 函式名 引數列表 舉例 cpp view plain ...
C 中virtual 虛函式的作用介紹
虛函式是定義在基類中的函式,子類必須對其進覆蓋。在類中宣告虛函式的格式 virtual void display 1 定義子類物件,並呼叫物件中未被子類覆蓋的基類函式a。同時在該函式a中,又呼叫了子類覆蓋的基類函式b。此刻將會呼叫基類中的函式b,而我們原本是想呼叫是子類中的覆蓋函式b。而使用虛函式就...