-
Cómo utilizar Friend Funciones en C ++
-
C ++ ofrece tres niveles de control de acceso a datos dentro de una clase. Los datos privados no es accesible por funciones que no son miembros o fuera de las clases. Pero a veces es necesario acceder a estos datos en un programa, por lo que es necesario encontrar una manera de evitar este C ++ regla. La característica permite a un amigo los datos privados de acceso programador. Sigue leyendo para saber cómo utilizar funciones amigas en C ++.
Instrucciones
1 Encontrar una clase que tiene miembros privados. Recuerde que los datos que no se declara en virtud de un modificador de acceso es privado de forma predeterminada:
Tutorial de clase {
int privateData; // Esto int es privado y está aislado del resto del mundo
público:
Tutorial (): privateData (5); // Constructor predeterminado inicializa privateData a 5
// ...
2 Permitir que una función no miembro a leer privateData en el Paso función no miembros 1. A es cualquier función que existe Tutorial fuera de clase. Preceder a la declaración de esa función por el amigo de palabras clave e insertar la línea en la zona privada del Tutorial:
Tutorial de clase {
int privateData;
amigo Muestra void (); // Nuestra función no miembro
// ...
La palabra clave private dice Tutorial clase que se puede confiar en Pantalla (), a pesar de que no es una de sus funciones miembro.
3 Dejar que otra clase de acceso a los datos privados de clase Tutorial. La declaración de una clase de amigo es similar. Preceder a la declaración de la clase por el amigo de palabras clave e insertar la línea en el área de datos privada de Tutorial:
Tutorial de clase {
int privateData;
amigo Muestra void ();
Fuera de clase friend; // Nuestra clase externa
// ...
Ahora Fuera de clase tiene privilegios de acceso a datos privados.
4 Estudiar un programa en C ++ que muestra los conceptos de amistad, como en el código siguiente:
Void display () {
t tutorial;
cout << t.privateData << endl;
}
Fuera de la clase {
público:
Void display () {
x tutorial;
cout << x.Display () << endl;
};
principal() {
Monitor();
x fuera;
x.Display ();
}
5 Ver el resultado:
5
5
Consejos y advertencias
- Utilice amigo con buen juicio. Bjarne Stoustrup (el diseñador de C ++) creó el modificador de acceso privado por una buena razón: la encapsulación y la seguridad de los datos. En otras palabras, no utilice "amigo" como un hacker.