Arbre de dérivation

Il n’est pas permis de faire des cycles en cours de dérivation ; c’est-à-dire qu’une classe C ne peut pas hériter d’elle-même, ni directement, ni indirectement par l’intermédiaire d’une ou plusieurs autres classes.

Par contre, si deux classes A et B dérivent toutes deux d’une classe Z, on peut dériver une classe C de A et B ; la classe comprendra alors deux instances de Z. (Il faut alors utiliser l'opérateur de résolution de portée :: pour distinguer les membres hérités par l'intermédiaire de l'une ou l'autre.)

Assez étrangement, si une classe B dérive de A, on ne peut pas dériver une classe C de A et B ; le compilateur affiche une erreur (Error : 'A' is inaccessible because also in 'B', 'A' est inaccessible car également dans 'B').

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