14.6. Virtual Base Classes (Pattern 3)

The third pattern for multiple inheritance uses virtual base classes. A virtual base is a base class that is common among two or more derived classes that all specify that they can share the common base. With all derived classes sharing a common base class, multiply-derived objects have only one copy. Figure 14.8 shows a multiple inheritance OMT diagram with virtual base class, Base1. Class Derived1 and Derived2 share virtual base Base1, creating object D1_D2 with only one Base1 part. The shaded inheritance triangle indicates a shared, virtual base.

Figure 14.8. Multiple inheritance with virtual bases

The ...

Get Navigating C++ and Object-Oriented Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.