web-dev-qa-db-fra.com

Quelle est la différence entre protégé et privé?

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?

34
danijar

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.

65
lifetimes

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.

10
Jesper

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).

3
Fabio

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.

3
b3h3m0th

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.

3
akrabi