operator - Declaración de amigo en C++: diferencia entre público y privado
protected c++ (2)
Como la friend class B sintaxis friend class B no declara un miembro de la clase A , entonces no importa dónde la escriba, la clase B es amiga de la clase A
Además, si escribe la friend class B en la sección protected de A , entonces NO significa que B puede acceder solo a miembros protected y public de A
Recuerde siempre que una vez que B convierte en amigo de A , puede acceder a cualquier miembro de A , sin importar en qué sección escriba la friend class B
Alguien me dijo que hay una diferencia entre declarar una clase de amigo en las áreas públicas o privadas de la clase, pero parece que no puedo encontrar nada sobre esto en línea, y no estoy seguro de que supieran de qué estaban hablando.
Me refiero a la diferencia entre:
class A
{
public:
friend class B;
};
y
class A
{
private: //or nothing as the default is private
friend class B;
};
¿Hay una diferencia?
No, no hay diferencia, solo dices que la clase B es amiga de la clase A y ahora puede acceder a sus miembros privados y protegidos, eso es todo.