首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-03-23 
虚函数表//typedef fun* temp//是不是多余#include iostreamusing namespace stdtypedef void (*fun)

虚函数表//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; 一样的

热点排行