eclaración de @Friend en C ++: diferencia entre @ pública y priva

Alguien me dijo que hay una diferencia entre declarar una clase de amigos 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;
 };

class A
{
 private: //or nothing as the default is private
      friend class B;
 };

¿Hay una diferencia

Respuestas a la pregunta(3)

Su respuesta a la pregunta