Programación Orientada a Objetos en C ++ - Parte 6 Introducción Esto es parte de mi serie 6, Programación Orientada a Objetos en C ++. Una función externa o tipo externo (clase no derivados) no pueden acceder a un miembro protegido de una clase o de un miembro privado de una clase. Excepción se puede hacer a esta regla. Si realiza una función externa o clase externa a un amigo a una clase en particular, entonces ese amigo puede tener acceso al miembro protegido y privado de la clase. En este artículo te mostraré cómo hacer amigos en C ++.
Supongo, que ha estado leyendo la serie desde el principio. Nota: Si no puede ver el código o si cree que falta algo (enlace roto, la imagen ausente), simplemente en contacto conmigo en [email protected]. Es decir, en contacto conmigo para el más mínimo problema que tenga acerca de lo que está leyendo. Hacer amigos para hacer una función o una clase de un amigo a una clase particular, sólo tienes que escribir el prototipo de esa función o el prototipo de la clase, en la descripción de la clase en particular, que precede al prototipo, con la palabra clave, amigo y un espacio. Eso es todo.
Después de que la función de amigo o amiga de clase pueden acceder los miembros protegidos y privados de la clase en particular. Vamos a ver algunos ejemplos. Amigo Función En el siguiente código, el myFn función () es un amigo de la clase MiClase. #include using namespace std; class MiClase {protected: int num1; private: int num2; amigo int myFn (); }; int myFn () {MiClase myObj; myObj.num1 = 2; myObj.num2 = 3; cout int main () {myFn (); return 0; } Lea el código de arriba y probarlo. Debe compilar y dar resultados.
Declarar (hacer) una función externa a un amigo a una clase, en la descripción de clase que escriba el prototipo de la función, precedido por la palabra clave, amigo y un espacio. En el código anterior, myFn () es un amigo para MiClase. Por lo tanto, en la definición de myFn () han accedido a los miembros protegidos y privados de MiClase. Clase amigo En el siguiente código, HisClass es un amigo para MiClase: #include using namespace std; class MiClase {protected: int num1; private: int num2; HisClass clase amigo; }; clase HisClass {public: void myMthd () {MiClase myObj; myObj.num1 = 2; myObj.
num2 = 3; cout}; int main () {HisClass hisObj; hisObj.myMthd (); return 0; } Lea el código de arriba y probarlo. Debe compilar y dar resultados. Declarar (hacer) una clase a un amigo a una clase en particular, en la descripción
exe?