Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Antoniio en 31 Enero 2018, 23:43 pm



Título: Cuándo es mejor definir una función como amiga de clase?
Publicado por: Antoniio en 31 Enero 2018, 23:43 pm
Es una duda que tengo en programación C++, en que casos es mejor definir una función como amiga de la clase??

Un saludo.


Título: Re: Cuándo es mejor definir una función como amiga de clase?
Publicado por: ivancea96 en 1 Febrero 2018, 19:43 pm
Por lo general, algo a evitar salvo que sea necesario. Esa es la regla que tendría en cuenta.
friend rompe reglas de encapsulamiento, y si razón de ser es ayudar a resolver problemas muy específicos que no se resolverían de otro modo (o que requerirían código innecesario, en fin, hay muchas posibilidades).

En cualquier caso, la definición es clara: una clase o función es amiga de otra cuando necesita acceder a determinada información <ella y solo ella> (de lo contrario, bastaría con poner esa información pública).

Así que, cuando te encuentres el punto en el cual necesitas lo antes dicho, y no hay otro camino lógico para lograrlo, es cuando usarías friend.