64,692
社区成员
发帖
与我相关
我的任务
分享
class Base {
public:
virtual void f() { cout << "Base::f" << endl; }
virtual void g() { cout << "Base::g" << endl; }
virtual void h() { cout << "Base::h" << endl; }
};
typedef void(*Fun)(void);
int main()
{
Base b;
Fun pFun = NULL;
cout << "虚函数表地址:" << (int*)(&b) << endl;
cout << (int*)*(int*)(&b) << endl; //(1)
cout << (int*)*((int*)*(int*)(&b)) << endl; //(2)
pFun = (Fun)*((int*)*(int*)(&b)); //(3)
pFun();
system("pause");
return 0;
}