Duplicata possible:
Membres privés et protégés: C++
Je ne comprends pas la différence entre les membres ou méthodes protégés et privés, car je supposais que les deux masqueraient le membre ou la fonction à accéder de l'extérieur de la classe.
Quelle est la différence entre les mots-clés protégés et privés?
private
- accessible uniquement dans la classe qui les définit.
protected
- accessible dans la classe qui les définit et dans les autres classes qui héritent de cette classe.
Les choses qui sont private
ne sont visibles que dans la classe elle-même.
Les choses qui sont protected
sont visibles dans la classe elle-même et dans les sous-classes.
Les méthodes privées sont généralement visibles par les instances de classe (implémentations internes), les méthodes protégées sont visibles par les sous-classes et les classes du même package (héritage et utilisation restreinte).
Les membres privés ne peuvent être utilisés que par les membres de cette classe et ses amis; les membres protégés peuvent être hérités par d'autres classes et peuvent être utilisés par les membres des classes et les amis.
La différence est qui peut accéder à ces fonctions.
Private
= seuls les membres d'une même classe peuvent accéder à la fonction.
Protected
= Identique aux classes privées mais accessibles également.