O'Reilly logo

Navigating C++ and Object-Oriented Design by Gail Anderson, Paul Anderson

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

14.4. Distinct Base Classes (Pattern 1)

When a multiply-derived class has base classes that are unrelated, we create an inheritance structure similar to the OMT diagram in Figure 14.2. Multiply-derived class D1_D2 inherits from both Derived1 and Derived2 (its direct bases), which in turn inherit from separate bases (Base1 and Base2, respectively). Class D1_D2 has no common bases. The important characteristics of this pattern include the following:

  • At least one class is multiply-derived.

  • Its direct bases (Derived1 and Derived2) have no common bases.

  • Each “side” of the hierarchy is publicly derived.

  • Each side of the hierarchy is a polymorphic type (has at least one virtual function in its top base, Base1 and Base2).

  • The sides need not be symmetrical; ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required