// virtualTable.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
typedef void (*Fun)(void);
class parent
{
//public:
virtual void Fun1()
{
cout << "parent::Fun1()" << endl;
}
private:
virtual void Fun2()
{
cout << "parent::Fun2()" << endl;
}
};
class son:public parent
{
void Fun1()
{
cout << "son::Fun1()" << endl;
}
virtual void Fun3()
{
cout << "son::Fun3()" << endl;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
son sonTest;
Fun pFun = NULL;
for(int i=0; i<3; i++)
{
pFun = (Fun)*((int*)*(int*)(&sonTest)+i);
pFun();
}
system("pause");
return 0;
}