#include <iostream.h>
class M
{
public:
virtual void f1(){cout<<"f1()"<<endl;}
virtual void f2(){cout<<"f2()"<<endl;}
virtual void f3(){cout<<"f3()"<<endl;}
virtual void f4(){cout<<"f4()"<<endl;}
virtual void f5(){cout<<"f5()"<<endl;}
virtual void f6(){cout<<"f6()"<<endl;}
virtual void f7(){cout<<"f7()"<<endl;}
virtual void f8(){cout<<"f8()"<<endl;}
};
int main(){
typedef void(*fun)(void);
fun pf=NULL;
M m;
int* p;
p=(int*)*(int*)(&m);
while(*p!=NULL){
pf=(fun)(int*)(*p);
pf();
p++;
}
return 0;
}
class M
{
public:
virtual void f1(){cout<<"f1()"<<endl;}
virtual void f2(){cout<<"f2()"<<endl;}
virtual void f3(){cout<<"f3()"<<endl;}
virtual void f4(){cout<<"f4()"<<endl;}
virtual void f5(){cout<<"f5()"<<endl;}
virtual void f6(){cout<<"f6()"<<endl;}
virtual void f7(){cout<<"f7()"<<endl;}
virtual void f8(){cout<<"f8()"<<endl;}
};
int main(){
typedef void(*fun)(void);
fun pf=NULL;
M m;
int* p;
p=(int*)*(int*)(&m);
while(*p!=NULL){
pf=(fun)(int*)(*p);
pf();
p++;
}
return 0;
}