#include <iostream>
using namespace std;
class A
{
public:
A():m_a(0){}
~A(){}
virtual void fa()
{
cout<<"aaaa"<<endl;
}
private:
int m_a;
};
class B
{
public:
B(){}
~B(){}
virtual void fb()
{
cout<<"bbbb"<<endl;
}
};
class C :public A,public B
{
public:
virtual void fb()
{
cout<<"cccc"<<endl;
}
};
void foo(void* p)
{
B* pc= (B*)p;
pc->fb();//原意是要用基类(B)的指针调用子类C对象中复写的虚函数fb
}
int main(int argc, _TCHAR* argv[])
{
C c;
foo(&c);
return 0;
}
最后的运行结果 请自行调试 就会发现其中的问题!