J'étais curieux au sujet du C++ et de l'héritage virtuel - en particulier, la façon dont les conflits vtable sont résolus entre les classes basse et enfant. Je ne vais pas prétendre comprendre les détails sur la façon dont ils fonctionnent, mais ce que j'ai lu jusqu'à présent, c'est qu'ils sont un petit retard causé par l'utilisation de fonctions virtuelles en raison de cette résolution. Ma question est alors si la classe de base est vide - à savoir, ses fonctions virtuelles sont définies comme:Résolution de vtable C++ avec héritage virtuel
virtual void doStuff() = 0;
Est-ce que cela signifie que la résolution n'est pas nécessaire, car il n'y a qu'un seul ensemble de fonctions à choisir? Pardonnez-moi si c'est une question stupide - comme je l'ai dit, je ne comprends pas comment fonctionne vtables donc je ne sais pas vraiment mieux.
EDIT
Donc, si j'ai une classe abstraite avec deux classes d'enfants séparés:
A
/\
/ \
B C
Il n'y a pas frappé les performances lors de l'appel des fonctions des classes d'enfants par rapport à dire, un seul héritage libre classe?
Cochez ici une de mes questions précédentes: http://stackoverflow.com/questions/99297/at-as-deep-of-a-level-as-possible-comment-voir-les-fonctions-virtuelles-implement –