October 1997
Intermediate to advanced
800 pages
20h 48m
English
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.