读书人

虚函数表//typedef fun* temp;//是不是

发布时间: 2012-03-23 12:06:21 作者: rapoo

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

读书人网 >C++

热点推荐