El tutorial o código que verás en este artículo es la solución más rápida y efectiva que encontramos a tus dudas o problema.
Solución:
Ninguna clase puede acceder private
variables Ni siquiera las subclases.
Solo las subclases pueden acceder protected
variables
Todas las clases pueden acceder public
variables
Todos los miembros de la clase base son parte de la clase derivada. Sin embargo, la clase derivada solo puede acceder a miembros que son públicos o protegidos.
Declarar un miembro del mismo nombre como miembro de una clase Base “sombrea” al miembro de la clase Base. Es decir, la clase Derivada tiene su propia variable independiente que tiene el mismo nombre que la versión de la clase base.
Esta es una elección personal, pero encuentro que el uso de variables para comunicarse entre las clases base y las clases derivadas conduce a un código más desordenado, por lo que tiendo a hacer que las variables miembro sean privadas o a usar el patrón PIMPL.
Los miembros privados de una clase se pueden heredar, pero sus clases derivadas no pueden acceder a ellos directamente. Se puede acceder a ellos utilizando métodos públicos o protegidos de la clase base.
El modo de herencia especifica cómo las clases derivadas pueden acceder a los miembros de datos públicos y protegidos.
Si la clase derivada hereda la clase base en privado modo,
- los miembros protegidos de la clase base son privado miembros de la clase derivada.
- Los miembros de datos públicos de la clase base son privado miembros de la clase derivada.
Si la clase derivada hereda la clase base en protegido modo,
- los miembros protegidos de la clase base son protegido miembros de la clase derivada.
- Los miembros de datos públicos de la clase base son protegido miembros de la clase derivada.
Si la clase derivada hereda la clase base en público modo,
- los miembros protegidos de la clase base son protegido miembros de la clase derivada.
- Los miembros de datos públicos de la clase base son público miembros de la clase derivada.
Consulte este enlace para obtener más aclaraciones: http://www.tutorialspoint.com/cplusplus/cpp_inheritance.htm
Acuérdate de que te brindamos la opción de decir si diste con la solución.