Héritage multiple

Jusqu’à présent nous avons utilisé des classes qui dérivaient d’une unique classe de base. Il est parfaitement possible qu’une 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 c’est le type par défaut qui s’applique). Elle a trois sortes de membres : les siens propres ; ceux hérités de A ; ceux hérités de B. Les règles d’héritage sont les mêmes que dans l’hé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 d’héritage, c’est une virgule qui sépare les différentes classes de base, et non le symbole deux-points.

Précédent Précédent Sommaire Sommaire Suivant Suivant