64,644
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class base
{
virtual void f(){cout<<"base::f"<<endl;};
virtual void g(){cout<<"base::g"<<endl;};
virtual void h(){cout<<"base::h"<<endl;};
public:
void tt(){};
};
typedef void (base::*pfun)(); //增加base:
void main()
{
DWORD w=0x4011e0;
pfun fun=NULL;
base b;
base *pbase=&b;
fun = &base::tt;
printf("0x%p\n",fun);//打印成员函数的地址
while(1)
{
Sleep(1);
}
}
#include <iostream>
using namespace std;
class base
{
virtual void f(){cout<<"base::f"<<endl;};
virtual void g(){cout<<"base::g"<<endl;};
virtual void h(){cout<<"base::h"<<endl;};
public:
void tt(){};
};
typedef void (base::*pfun)();
int main(int argc, const char * argv[])
{
pfun fun = NULL;
base b;
fun = &base::tt;
(b.*fun)();
return 0;
}