Tutoriales

C++ protegido

Como muchos otros lenguajes de programación, C ++ también nos brinda la función de ocultar datos por motivos de seguridad. Usamos modificadores de acceso dentro de un programa C++ para proteger nuestros datos en diferentes niveles de seguridad. C++ incluye los especificadores de acceso público, privado y protegido para asegurar sus variables y funciones. El especificador de acceso protegido es un poco diferente de privado y público. Este artículo se centrará en el modificador de acceso «protegido» en los ejemplos de código de C++. Entonces empecemos. Abra la aplicación de shell, cree un nuevo archivo c++ y ábralo en el editor.

Ejemplo 01: Público vs. Privado

Antes de centrarnos en el especificador de acceso protegido, debemos aprender el funcionamiento de un especificador de acceso público y privado. Después de usar el espacio de nombres de C++ al comienzo de un código, hemos declarado una prueba de clase con una variable pública «a» y una variable privada «b». Hemos inicializado un objeto “t” de una clase de prueba en el método main().

El valor 10 se le asigna a la variable “a”, que es pública. Usando el objeto «cout», hemos mostrado el valor de la variable «a» usando el objeto «t». El mismo objeto de clase de prueba «t» se ha utilizado aquí para asignar el valor «12» al miembro de datos privados «b». Usando el objeto «cout» nuevamente, utilizamos el objeto «t» para mostrar el valor de la variable «b». Por último, la instrucción return 0 cerrará el programa con éxito. Es hora de guardar primero este nuevo código C++ y compilarlo en el shell.

Debe asegurarse de que el compilador de C++ «g++» esté instalado y completamente configurado en su sistema. Entonces, hemos probado la instrucción del compilador g ++ en el shell siguiendo el nombre de un archivo «protegido.cc». Ejecución de esta instrucción del compilador, tenemos el error en la línea 13 cuando asignamos el valor a la variable privada “b” usando el objeto “t”. Esto se debe a que la variable privada de la clase Prueba no se puede utilizar fuera de esta clase, es decir, en ninguna función o clase. El modificador de acceso público permitirá que cada variable y función esté disponible para todos. Por el contrario, el modificador de acceso privado no permite el acceso de variables y funciones a nadie, es decir, a todas las clases.

LEER  Los 15 mejores paneles de control de alojamiento web para la gestión de servidores
Publicaciones relacionadas

Veamos cómo podemos usar miembros de datos privados para que se muestren en el shell. Hemos actualizado el mismo archivo C++ en la clase Prueba declarando las dos funciones públicas, get() y set(). La implementación de ambas funciones se ha realizado fuera de la clase «Prueba». La función «get()» se utiliza para devolver el valor del miembro de datos privados «y» a la función main() para su visualización.

La función set() usa el valor pasado por la función main() y lo asigna al miembro de datos privados «y» de la clase Prueba. Dentro del método main(), hemos estado usando el objeto “t” de la clase Test para asignar el valor “10” a la variable pública “x” de la clase test. La instrucción cout muestra el valor de «x» en el shell. Ahora, hemos estado llamando a la función set() por el objeto «t» para pasar el valor «14» al miembro de datos privados «y» de la clase «Prueba». La declaración cout ha llamado a la función «get» para mostrar el valor de la variable «y» en el shell. Este código nos permitirá mostrar el valor del miembro de datos privados en el shell utilizando las funciones de datos públicos de la misma clase. Guardemos este código y ejecútelo:

Tenemos los valores para «x» e «y» que se muestran al ejecutar este código actualizado recientemente:

Ejemplo 02:

Echemos un vistazo al modificador de acceso protegido ahora. Hemos abierto el archivo de código y lo hemos actualizado un poco. Se agregaron las bibliotecas requeridas junto con el espacio de nombres de C++. Declarada una clase Padre y una clase Hijo derivada del “Padre”. La clase principal contiene una variable protegida «x» de tipo entero. La clase secundaria solo contiene dos funciones públicas, es decir, establecer y obtener. Después de las clases, hemos implementado ambas funciones de la clase secundaria estableciendo el valor de «x» y volviendo a la función main().

La función main() es crear el objeto «c» para la clase secundaria. Este objeto se utiliza para establecer el valor de la variable «x» y mostrarlo en el shell a través del método get(). El uso de un objeto para asignar valor a la variable «x» mostrará un error en la ejecución. Luego, guarde el código y salga del archivo.

El resultado es el mismo que se esperaba, es decir, error.

Para evitar este error al asignar el valor a un miembro de datos protegidos, debemos usar las funciones de datos públicos, es decir, establecer y obtener funciones en la clase secundaria. Usando la función set(), podemos asignar el valor a la variable protegida «x» como lo hicimos en el siguiente código de imagen. Después de eso, podemos usar fácilmente la función get() para mostrar el miembro de datos protegido en el shell dentro de la declaración del objeto cout. Guarde este código y compílelo después de eso:

Después de compilar el código actualizado, esta vez no tenemos errores de compilación. Tenemos el valor de la variable protegida «x» que se muestra en la pantalla de shell usando la consulta de ejecución.

Ejemplo 03:

Echemos un vistazo a otro ejemplo para usar el modificador de acceso protegido. Dentro de este ejemplo, usaremos la herencia múltiple para aclararlo y agregar tres clases A, B y C. La clase A es la clase principal de B y B es la clase principal de C. Tanto A como B contienen la propiedad protegida. variables “x” e “y”. Las clases B y C contienen funciones como miembros de datos públicos, es decir, set() y get().

La clase B usa sus funciones para establecer y devolver el valor para el miembro de datos protegidos de la clase A «x», ya que B es su clase derivada. Por el contrario, la clase C usa sus funciones para establecer y obtener el valor «y» de la clase B, ya que la clase C es su clase derivada. Dentro de la función de código del controlador main(), hemos creado un objeto de clase B y hemos establecido el valor para la variable «x». El mismo objeto muestra el valor de la variable «x» en el caparazón. El objeto de clase C se ha creado para establecer el valor de la variable protegida «y» y mostrarlo en el shell. Ejecutemos el siguiente código para ver los resultados:

El resultado muestra que el uso de las funciones set() y gets() está reemplazando el valor ya inicializado para ambas variables protegidas.

Conclusión:

Se trataba de usar un modificador de acceso protegido para asegurar los miembros de datos para las clases en C++. Para que quede más claro, también hemos discutido el ejemplo del uso de miembros de datos públicos y privados. Además, hemos discutido la herencia para demostrar el funcionamiento y uso de especificadores de acceso seguro en nuestro código. Usar las funciones set() y get() es una ventaja para evitar errores al ejecutar este artículo. Esperamos que este artículo le haya resultado útil. Consulte los otros artículos de Linux Hint para obtener más consejos y tutoriales.

LEER  Cómo instalar Eclipse IDE en Debian, Ubuntu y Linux Mint

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba