Notre schéma illustre quatre classes qui sont A, B, C et D.
B et C héritent de A. D hérite de B et de C.
Le code C++ sera de cette forme :
Le fait que D hérite de B et de C et que B et C héritent de A, donc nous pouvons en déduire que D hérite deux
fois de A. Cela dit clairement que les membres (méthodes ou attributs) apparaissent deux fois dans D. Quant aux
méthodes, cela ne pose pas problème car en réalité elles ne sont pas dupliquées. Mais les attributs restent
dupliqués. Dans ce cas, si nous voulons que D contienne deux fois les données de A, eh bien ça s’arrête ici.
Sinon si nous ne voulons avoir qu’une seule copie de A dans D, nous serons obligés de déclarer la classe de base
commune étant virtuelle.
Dans ce cas, le code C++ sera en quelque sorte ainsi :