Jusquà présent nous avons utilisé des classes qui dérivaient dune unique classe de base. Il est parfaitement possible quune classe hérite de plusieurs classes. Voici un exemple :
class A { // ... };class B { // ... };class C : public A, B { // ... };
La classe C hérite de manière publique de A et de manière privée de B (il faut préciser à chaque classe le type de dérivation, sinon cest le type par défaut qui sapplique). Elle a trois sortes de membres : les siens propres ; ceux hérités de A ; ceux hérités de B. Les règles dhéritage sont les mêmes que dans lhéritage simple. Le constructeur de C appelle les constructeurs de A et B, implicitement ou non :
C::C() : A(), B() { // ...}
Noter que dans cette écriture, tout comme dans la déclaration dhéritage, cest une virgule qui sépare les différentes classes de base, et non le symbole deux-points.
Précédent | Sommaire | Suivant |