Tabla de contenido
¿Qué son los especificadores de acceso en c?++
En C ++, los especificadores de acceso son palabras clave reservadas que tienen el propósito de determinar la visibilidad y la accesibilidad de los miembros de una clase. Estas palabras clave se utilizan para restringir o permitir el acceso a diferentes miembros de la clase en un programa.
Los especificadores de acceso determinan desde dónde se puede acceder a un miembro de la clase. Estos especificadores permiten que el código C ++ acceda a un miembro de la clase desde dentro o fuera de una clase. También permiten que las clases derivadas accedan a los miembros de la clase principal.
En C ++, los especificadores de acceso se pueden clasificar en tres especificadores diferentes:
Estos especificadores controlan la visibilidad de los miembros de la clase, que determina dónde y a quién se puede acceder en el programa.
Que es privado en c++
Privado es un especificador de acceso en C ++ que limita la visibilidad y la accesibilidad de los miembros de la clase solo a clase misma. Los miembros que se definen como privados no son accesibles desde fuera de la clase o sus clases derivadas. Los miembros privados están ocultos de otras clases, lo que les impide modificar o acceder a los datos.
Lo que está protegido en C++
Protegido es un especificador de acceso en C ++ que limita la visibilidad y accesibilidad de los miembros de la clase al clase misma y es clases derivadas. Se puede acceder a los miembros definidos como protegidos desde el interior de una clase o sus clases derivadas, pero no desde fuera de la clase. Los miembros protegidos también están ocultos de otras clases, lo que les impide modificar o acceder a los datos.
Diferencia entre privado y protegido en c++
La principal diferencia entre privado y protegido en C ++ es el nivel de accesibilidad de los miembros de la clase. El acceso a miembros privados está restringido dentro de la clase, mientras que los miembros protegidos también son accesibles desde las clases derivadas.
Otra diferencia es que los miembros privados están completamente ocultos de otras clases, mientras que los miembros protegidos están parcialmente ocultos. Esto significa que las clases derivadas pueden acceder a miembros protegidos, pero no modificarlos directamente. Por el contrario, no se puede acceder ni modificar a los miembros privados por ninguna otra clase.
Ejemplos de especificadores de acceso privado y protegido
Para demostrar el concepto de especificadores de acceso en la programación orientada a objetos, es útil proporcionar ejemplos de especificadores de acceso privado y protegido. Echemos un vistazo más de cerca a cómo funcionan los especificadores de acceso privado y protegido y algunos ejemplos de cómo se pueden usar.
Ejemplo de clase privada en C++
El especificador de acceso privado restringe la visibilidad de un miembro de la clase dentro de la clase misma. El siguiente código explica la clase privada en un programa C ++:
#incluirEste programa C ++ define a una persona de clase con dos variables de miembros privados nombre completo y años, y dos funciones de miembros públicos getpersoninfo () y DisplayPersonInfo ().
La función getPersonInfo () le solicita al usuario que ingrese el nombre y la edad completos de la persona. Después de eso, los almacena en las variables de miembros privados Fullname y Yearsold, respectivamente.
La función DisplayPersonInfo () simplemente imprime el nombre y la edad de la persona en la consola.
En la función Main (), creamos una persona de objeto de la clase de persona y llamamos a sus funciones getPersonInfo () y DisplayPersonInfo () para solicitar al usuario que ingrese la información de una persona y luego la muestre en la consola.
Ejemplo de clase protegida en c++
El especificador de acceso protegido limita la visibilidad de un miembro de la clase dentro de la clase y sus subclases. Tomemos un ejemplo que explique las clases protegidas en un programa C ++.
#incluirAquí en este código, la clase base es persona con miembros privados nombre completo y edad, y un miembro protegido número de identificación. La clase derivada es estudiante con una ciudad miembro privada y funciones de miembros públicos setid (), getStudentInfo () y displayStudentInfo ().
La función setid () establece el número de identificación, que define un miembro protegido de la clase base. La función getStudentInfo () lee los detalles básicos del estudiante como el nombre completo, la edad y la ciudad en la que viven.
El DisplayStudentInfo () La función imprime todos los detalles del estudiante que incluye su número de identificación, nombre completo, edad y ciudad.
Conclusión
Especificadores de acceso privado y protegido en la programación orientada a objetos garantizar la encapsulación y la ocultación de datos. Los miembros privados están completamente ocultos de otras clases, mientras que los miembros protegidos están parcialmente ocultos y se puede acceder mediante clases derivadas. La elección entre usar especificadores de acceso privado y protegido depende del diseño y la implementación de la clase. Lea el artículo para comprender los detalles de los especificadores de acceso privado y protegido.