例1:
#include <iostream>
using namespace std;
class B{
int x;
int y;
public:
B():x(1),y(2){
}
virtual void fun(){
cout<<"virtual fun"<<endl;
}
};
typedef void (*pfun)();
int main()
{
B b;
int *p=reinterpret_cast<int*>(&b);
// pfun pf= (pfun)*((int*)*(int*)(&b));
pfun pf = reinterpret_cast<pfun>(*((int*)(*p)));
pf();
p++;
cout<<*p<<" "<<*(p+1)<<endl;
return 0;
}
输出结果:
virtual fun
1 2