獲取虛函式指標

2021-06-09 13:50:23 字數 529 閱讀 7404

先還是看看下面的**: 

#include

using

namespace std;

class a

virtual

void vfun1()

};//

定義乙個函式指標型別

fun,此類函式沒有引數,返回型別為

void

typedef

void (*fun)();

fun getvirtualfunction(a* obj, unsigned

long offset)

int main(void)

執行結果:

我們可以看到,通過

getvirtualfunction(&a, 0)();

getvirtualfunction(&a, 1)();

成功地呼叫了class a中的兩個虛函式vfun0和vfun1。getvirtualfunction(&a, 0)和getvirtualfunction(&a, 1)分別就是vfun0和vfun1的函式指標。

虛指標,虛函式,虛函式表,純虛函式

虛指標 虛繼承 在使用多重繼承時,如存在 class a 有m a變數 class a1 virtual public a,m a1 class a2 virtual public a m a2 class b public a1,public a2 m b 時 存在以下記憶體儲存順序 虛指標 指向...

this指標 虛函式

include using namespace std class a virtual void vhello 上面 會輸出 hello 然後就不會再有輸出。1 為什麼p是空指標,還有輸出 在上面的程式中,p 明明是乙個空指標,為何通過它還能正確呼叫 a 的成員函式 hello 呢?p hello ...

虛函式表指標,虛函式表

對c 了解的人都應該知道虛函式 virtual function 是通過一張虛函式表 virtual table 來實現的。簡稱為v table。在這個表中,主是要乙個類的虛函式的位址表,這張表解決了繼承 覆蓋的問題,保證其容真實反應實際的函式。這樣,在有虛函式的類的例項中這個表被分配在了 這個例項...