Envoyé par
tomlev
La technique la plus simple :
Comme ça, quand Toto est appelé, ça exécute toujours le code de la méthode non virtuelle, et ensuite ça appelle la méthode virtuelle, qui n'a pas besoin d'appeler base.Toto (par contre, elle est quand même supposée appeler base.TotoOverride, mais on ne peut pas l'obliger à le faire... mais c'est pas trop gênant puisque A.TotoOverride ne fait rien)
Petite remarque en passant : appeler un membre virtuel dans un constructeur est une très mauvaise idée, ça peut avoir des effets difficiles à prévoir...