visibilidad publico publica protegidos protegido protegida privados privado privada poo metodos entre diferencia atributos c++ oop class private protected

c++ - publico - ¿Cuál es la diferencia entre protegido y privado?



publico privado y protegido (5)

Posible duplicado:
Miembros privados y protegidos: C ++

No entiendo la diferencia entre miembros o métodos protegidos y privados, ya que supongo que ambos ocultarán el miembro o la función para acceder desde fuera de la clase.

¿Cuál es la diferencia entre las palabras clave protegidas y las privadas?


La diferencia es quién puede acceder a esas funciones.

  • Private = solo miembros de la misma clase pueden acceder a la función.

  • Protected = Igual que las clases privadas pero derivadas también pueden acceder.


Las cosas que son private solo son visibles dentro de la misma clase.

Las cosas que están protected son visibles en la clase misma y en las subclases.


Los métodos privados suelen ser visibles para instancias de clase (implementaciones internas), los métodos protegidos son visibles para subclases y clases en el mismo paquete (herencia y uso restringido).


Los miembros privados solo pueden ser utilizados por los miembros de las clases y sus amigos; los miembros protegidos pueden ser heredados por otras clases y pueden ser utilizados por las clases miembros y amigos.


private : solo disponible para acceder dentro de la clase que los define.

protected : accesible en la clase que los define y en otras clases que heredan de esa clase.