求看看这段代码拿错了
vc6.0 编译器
struct IU{
virtual void QI(void ** p)=0;
};
struct IA :public IU
{
virtual void func() =0;
};
struct IB :public IU
{
virtual void func()=0;
};
class TvShow : public IA,public IB
{
public:
void IA::func()
{
printf("IA func");
}
void IB::func()
{
printf("IB func");
}
void QI(void**p)
{
*p=(IA*)this;
}
};
void fun()
{
TvShow c;
IB *pB=&c;
IA *pA;
pB->QI((void **)&pA);
pB->func();
pA->func();
}