利用函数指针类型进行强转
利用二维指针和二维数组查看,使用方便,简单
#include<iostream>
using namespace std;
typedef void(*pfun)(void);//pfun重命名函数指针类型
class A
{
public:
void show()
{
cout<<"A::show"<<endl;
}
void display()
{
cout<<"A::display"<<endl;
}
};
class B:public A
{
public:
virtual void show()
{
cout<<"B::show"<<endl;
}
virtual void display()
{
cout<<"B::display"<<endl;
}
void showa()
{
cout<<"B::showa"<<endl;
}
};
int main()
{
B b;
//方法1
pfun pf=(pfun)*((int*)*(int*)(&b));
pf();
pf=(pfun)*((int*)*(int*)(&b)+1);
pf();
//方法2
int **ppf=(int**)&b;
pfun ppf1=(pfun)ppf[0][0];
ppf1();
ppf1=(pfun)ppf[0][1];
ppf1();
return 0;
}