Back
Close

Clases y Objetos en C++ (Práctica 1)

camilocorreaUdeA
6,920 views
Previous: Miembros de clase en C++ Variables y Métodos Next: Ejercicios práctica 1

Acceso a miembros privados de una clase: Funciones y Clases "Amigas"

Una función o una clase "Amiga" es aquella a la que se le ha otorgado la capacidad de tener acceso a los miembros privados de la clase que la ha declarado como amiga. Para que una clase declare a otra clase o a una función como amiga se debe declarar esa función o esa clase al interior de la clase y se debe utilizar la palabra reservada friend en esa declaración.

Nota: La amistad en C++ es unívoca, es decir, si la clase A declara a la clase B como amiga eso no quiere decir que la clase B considere a la clase A como amiga.

Las funciones amigas o los métodos de una clase amiga pueden en ocasiones recibir como parámetro de entrada una referencia a un objeto de la clase que las declaro como amigos.

Declaración de una función amiga:

#include<iostream>
using namespace std;
class MiClase
{
public:
void printMembers();
friend void funcionAmiga(int x, MiClase& mc); //Se usa la palabra friend y uno de los parámetros es una referencia a la clase MiClase
private:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Declaración de una clase amiga:

#include<iostream>
using namespace std;
class MiClase
{
public:
void printMembers();
friend class OtraClase; //Se usa la palabra friend y se nombra la clase amiga
private:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants