代码之家  ›  专栏  ›  技术社区  ›  Mayur

混合继承示例

  •  3
  • Mayur  · 技术社区  · 16 年前

    1 回复  |  直到 16 年前
        1
  •  1
  •   Kirill V. Lyadvinsky    16 年前

    Hybrid Inheritance 是将一种或多种继承类型组合在一起的方法。当我需要实现一个接口时,我几乎总是使用多级继承+单一继承。

    struct ExtraBase { void some_func(); };
    struct Base : public ExtraBase {};
    struct Derived : public Base, public IUnknown {};
    
    ...
    Derived x = new Derived;
    x->AddRef();
    x->some_func();
    

    下面是一个例子 Derived 使用 some_func ExtraBase (多级继承)和 使用 AddRef 从 IUnknown