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

求见见这段代码拿错了

2013-09-06 
求看看这段代码拿错了vc6.0 编译器struct IU{virtual void QI(void ** p)0}struct IA :public IU{virtu

求看看这段代码拿错了
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();


}

[解决办法]
瞎折腾啊这是。
[解决办法]
引用:
Quote: 引用:

瞎折腾啊这是。



就是说你两个父类写一样的虚接口,一个子类来继承,这种东西你研究那么起劲,就跟该死的置顶帖里研究
表达式求值顺序一样无聊。一句话解决你心中疑惑,“就别这么写”
[解决办法]
跟对象内存结构有关吧,依赖于编译器
vc正常,gcc下编译就报错了认为IA::func()是对IA func的实现,而不是重写
[解决办法]
先把马步扎瓷实了再说吧,基础都没搞定呢,研究个啥。
类成员函数定义就不能放在别的类定义中。

热点排行