虚函数表//typedef fun* temp;//是不是多余,该怎么处理

虚函数表//typedef fun* temp;//是不是多余
#include <iostream>
using namespace std;

typedef void (*fun) (void);
typedef fun* temp;

class A {
public:
  virtual void foo (void)
  {
  cout << "A::foo() invoked" << endl;
  }
  virtual void bar (void)
  {
  cout << "A::bar() invoked" << endl;
  }
};

class B : public A{
public:
  void foo (void)
  {
  cout << "B::foo() invoked" << endl;
  }
};

int main()
{
  A a;
  temp p = *(temp*)&a;
  cout << "A::p[0] = " << (void*)p[0] << endl;
  (p[0]) ();
  cout << "A::p[1] = " << (void*)p[1] << endl;
  (p[1]) ();
}

------解决方案--------------------
用 fun *p = *(fun **)&a; 一样的