#include<iostream>
using namespace std;
int main(){
class A{
public:
virtual void func1(){
cout<<"this is a::func1()"<<endl;
}
};
class B:public A{
public:
virtual void func2(){
cout<<"this is b::func2()"<<endl;
}
};
B obj;
void*** v_tab=(void***)&obj;
using fp_void = void(void);
void** func1=(void**)(*v_tab);
void** func2=(void**)(*v_tab+1);
fp_void* f1=(fp_void*)(*func1);
fp_void* f2=(fp_void*)(*func2);
f1();
f2();
return 0;
}