Le 14 octobre 2026, Remy Porter a raconté une anecdote C++ concernant le collègue de Mandy. Celui-ci avait adopté l’héritage virtuel comme règle par défaut et l’appliquait systématiquement.
En C++, l’héritage virtuel traite le problème du diamant lié à l’héritage multiple. A est la classe de base. B et C dérivent de A, tandis que D hérite des deux. Sans héritage virtuel, D contient deux copies internes de A et de ses membres. Avec `class B : public virtual A`, D ne conserve qu’une seule copie de A. Le mécanisme n’a d’importance que lorsqu’une classe peut avoir des classes dérivées.
Cette condition n’existe pas dans l’exemple. `SomeSpecificDerivedClass` est déclarée `final`, donc aucune classe ne peut en hériter. Le mot-clé `virtual` dans l’héritage depuis `SomeBaseClass` ne change donc rien.




Commentaires
Pas encore de commentaire — écris le premier.
Lance la discussion
Pas de compte ni de mot de passe — saisis simplement ton adresse e-mail et nous t’envoyons un lien de connexion à usage unique. Première visite ? Tout se met en place automatiquement.
Ton évaluation sera appliquée automatiquement après ta connexion.
Vérifie ta boîte mail
Nous avons envoyé un lien de connexion à …. Ouvre-le sur cet appareil — cet onglet te connectera automatiquement.
Rien reçu ? Vérifiez le dossier spam — et marquez le message « Non spam » pour qu'il arrive directement la prochaine fois.