小弟最近学习数据库编程
现碰到一个问题需要用记录集视图类和对话框类共同派生一个类
请问这样的多继承在VC中应如何实现
最好能给出原代码
请各位大虾务必帮忙小弟在此现谢过了
若分不够还可再加

解决方案 »

  1.   

    class CMixerFader : public CSliderCtrl, public CMixerBase
    //mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
    {
    public:
    }
      

  2.   

    兄弟,MFC的类是不能使用多继承的。
    你可以先继承对话框类,然后包容记录集视图类。
    如不能解决,请提供详细应用,看能不能帮个小忙。
    [email protected]
      

  3.   

    class CMixerFader : public CSliderCtrl, public CMixerBase
    //mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
    {
    public:
    }
    这样的形式编译时会出错的
      

  4.   

    多继承在很多OOP语言里都去掉了,建议不用,比较规范的语言只能多重继承纯虚基类,有的也叫接口继承,这种方式可以克服多重继承的很多缺点。
    另外通过聚合方式使用多个对象也更符合自然规律,强行通过继承来组合多个类的功能本身就不合符OOP设计的规范。象组装汽车一样,汽车这个对象总体由多种零件聚合而成,里面的发动机这个单体对象又由许多基本对象聚集而成,这样的结构更合符工业化制造的要求,软件也一样。将基本对类作为成员变量聚集成完成一个更具体功能的类更具有现实意义。注意UML设计,和设计模式的学习,这样你会获益良多。
      

  5.   

    其实适当使用多继承还是可以容许的,其实关键是 MFC 的实现是单根继承,如果从 MFC 基类进行多继承,很难避免所谓的“死亡菱形”和潜在的二意性