La surcharge au travers d'un héritage revient en fait à un masquage.
Il te faut réinjecter ta fonction à l'endroit de la surcharge (b) avec un : using a::foo;
Quant à l'argument par défaut, à supposer que cela soit vraiment utilisable dans son problème, il est de bon ton de l'avoir dans toutes les déclarations. Ce qui, du coup, n'aide pas forcément.
Autre solution : utiliser le Design Pattern "Template Method", que je préfère de loin aux appels explicites aux implémentations des fonctions définies dans les classes parentes.
# Masquage
Posté par lmg HS (site web personnel) . En réponse au message Une petite question d'héritage "sympathique". Évalué à 4.
Il te faut réinjecter ta fonction à l'endroit de la surcharge (b) avec un :
using a::foo;
Quant à l'argument par défaut, à supposer que cela soit vraiment utilisable dans son problème, il est de bon ton de l'avoir dans toutes les déclarations. Ce qui, du coup, n'aide pas forcément.
Autre solution : utiliser le Design Pattern "Template Method", que je préfère de loin aux appels explicites aux implémentations des fonctions définies dans les classes parentes.