Vous trouverez ci-dessous un exemple subtil d’accès au champ protégé x d’une instance. B est une sous-classe de A donc toute variable de type B est également de type A. Pourquoi B::foo() peut-il accéder au champ x de b, mais pas au champ x de a ?
Voici l’erreur que j’obtiens avec g++