14.2. Multiple Inheritance Format
Here's the format for multiple inheritance.
class Derived : [virtual] [access_type] Base1, [virtual] [access_type] Base2, . . . [virtual] [access_type] BaseN { . . . };
Base1, Base2, BaseN are direct bases of Derived and must have distinct names.
An access_type may be private, protected, or public and follows the same access rules as single inheritance.
The access_type does not have to be the same for each base, and the default is private.
The keyword virtual is optional and specifies a shareable base. We discuss virtual base classes on page 688.
Member functions or data that have the same name in Base1, Base2, or BaseN are potential ambiguities.
Here are several examples of multiple inheritance declarations.
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.