Cómo controlar los modificadores de acceso en C++: comprender la visibilidad de los miembros

Como Controlar Los Modificadores De Acceso En C Comprender La Visibilidad De Los Miembros



La ocultación de datos es una de las características clave de C++ que se refiere a limitar el acceso a los datos de una clase para evitar el acceso no deseado a los datos de una clase desde el exterior. Por lo tanto, los modificadores de acceso se utilizan para definir qué miembros de la clase son accesibles para qué fuente externa y cuáles no.

Modificadores de acceso en C++

Los modificadores de acceso se utilizan para gestionar la accesibilidad y la visibilidad de los datos de una clase. Establecen algunas restricciones a los miembros de datos para que las funciones externas no puedan acceder a ellos. Los modificadores de acceso son de tres tipos en C++:

Modificador de acceso público en C++

Todos los miembros de la clase declarada bajo la palabra clave public estarán disponibles para todas las funciones fuera de la clase dentro del programa. El operador de acceso directo a miembros (.), también conocido como operador de punto, se puede utilizar con el objeto de esa clase específica para acceder a estos miembros de datos.







Ejemplo

El modificador de acceso público se utiliza para declarar una clase, y otras funciones dentro del programa acceden a sus miembros de datos.



#incluir

#incluir

#incluir

usando el espacio de nombres estándar ;
clase triangulo
  {
público :
        flotar X , y , Con ;
    vacío aporte ( )
    {
corte << 'Ingrese el lado x de un triángulo:-' ;
comiendo >> X ;
corte << 'Ingrese el lado y de un triángulo:-' ;
comiendo >> y ;
corte << 'Ingrese el lado z de un triángulo:-' ;
comiendo >> Con ;
    }
    vacío Área ( )
      {
        flotar s = ( X + y + Con ) / 2 ;
        flotar área = raíz cuadrada ( s * ( s - X ) * ( s - y ) * ( s - Con ) ) ;
corte << ' \norte Área del Triángulo =' << área ;
      }
} ;
    En t principal ( )
      {
Triángulo t1 ;
t1. aporte ( ) ;
t1. Área ( ) ;
          devolver 0 ;
}

El Triángulo se define como la clase y sus parámetros están bajo la palabra clave pública. Luego, el área del triángulo se calcula fuera de esta clase accediendo a los miembros de datos del modificador público.







El usuario ingresa los tres lados del triángulo y el área del triángulo se calcula accediendo a los valores fuera de la clase, utilizando la fórmula estándar, que es 13,4164.

Modificador de acceso privado en C++

Todos los miembros de la clase declarada bajo la palabra clave privada no estarán disponibles para ninguna función fuera de la clase en el programa. Estos miembros privados sólo pueden ser leídos por los miembros directos dentro de la misma clase. Sin embargo, las funciones y clases de amigos también pueden acceder a los datos.



Ejemplo

Se declaran las dos clases pública y privada y el valor de retorno del programa será el área del triángulo.

#incluir

#incluir

#incluir

usando el espacio de nombres estándar ;
clase triangulo
  {

privado :
      flotar X , y , Con ;
público :
    vacío aporte ( )

    {

corte << 'Ingrese el lado x de un triángulo:-' ;
comiendo >> X ;
corte << 'Ingrese el lado y de un triángulo:-' ;
comiendo >> y ;
corte << 'Ingrese el lado z de un triángulo:-' ;
comiendo >> Con ;

    }
      vacío Área ( )
        {

          flotar s = ( X + y + Con ) / 2 ;
          flotar área = raíz cuadrada ( s * ( s - X ) * ( s - y ) * ( s - Con ) ) ;
corte << ' \norte Área del Triángulo =' << área ;

        }

} ;

    En t principal ( )
    {
Triángulo t1 ;
t1. aporte ( ) ;
t1. Área ( ) ;
        devolver 0 ;

}

En main(), el objeto t1 no puede acceder directamente a la variable de clase privada float x, y y z, por lo que sólo puede ser manipulado indirectamente a través de la función pública input(), ya que esta función obtiene los valores de x, y y z.

El área del triángulo se obtiene accediendo a la clase privada manipulándola usando la clase pública. Si los valores de x, y y z no se declaran en la clase pública, entonces no se accederá a ellos en main() para realizar cálculos.

Modificador de acceso protegido en C++

Los miembros y funciones bajo la palabra clave protected están protegidos, solo se puede acceder a ellos dentro de la clase y la clase derivada. El resto de clases no pueden acceder a sus datos. Están muy protegidos.

Ejemplo

Los datos protegidos bajo la palabra clave protected solo se pueden leer dentro de la clase y por la clase que es la clase derivada. Este ejemplo es la demostración práctica del modificador de acceso protegido.

#incluir

#incluir

#incluir

usando el espacio de nombres estándar ;
  //clase padre
clase triangulo
  {

protegido :
      flotar X , y , Con ;
  } ;
  //clase infantil
clase TrianguloNiño : Triángulo público {
público :
    vacío aporte ( )

    {

corte << 'Ingrese el lado x de un triángulo:-' ;
comiendo >> X ;
corte << 'Ingrese el lado y de un triángulo:-' ;
comiendo >> y ;
corte << 'Ingrese el lado z de un triángulo:-' ;
comiendo >> Con ;

    }
      vacío Área ( )
        {
            flotar s = ( X + y + Con ) / 2 ;
            flotar área = raíz cuadrada ( s * ( s - X ) * ( s - y ) * ( s - Con ) ) ;
corte << ' \norte Área del Triángulo =' << área ;

        }
} ;

      En t principal ( )

      {
TriánguloNiño ;
Niño. aporte ( ) ;
Niño. Área ( ) ;
          devolver 0 ;

      }

TriangleChild es una clase heredada que se deriva de la clase Triangle. Las variables x, y y z se declaran en Triangle con la palabra clave protected. Esto significa que estas variables están protegidas pero TriangleChild puede acceder a ellas ya que Triangle es su clase principal. Los valores de las variables se han asignado en TriangleChild aunque estén declarados en la clase Triangle.

Se accede a las variables a través de la clase secundaria y luego se calcula el área de un triángulo.

Conclusión

La ocultación de datos evita el acceso no deseado a los datos de una clase desde el exterior. Los modificadores de acceso se utilizan para gestionar la accesibilidad y la visibilidad de los datos en un programa. Para ocultar los datos se utilizan modificadores de acceso privado, protegido y público. Los datos bajo la palabra clave pública también pueden ser leídos por funciones desde fuera de la clase. Los datos declarados como privados solo se pueden leer dentro de la clase, mientras que la clase principal y la clase secundaria también pueden acceder a los datos protegidos.