• # Masquage

    Posté par (site web personnel) . En réponse au message Une petite question d'héritage "sympathique". Évalué à 4.

    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.