Cuándo es mejor definir una función como amiga de clase?

Iniciado por Antoniio, 31 Enero 2018, 23:43 PM

0 Miembros y 1 Visitante están viendo este tema.

Antoniio

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.

ivancea96

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.