A friend of a class can access the private and protected members of that
class. Normally, you can only access the private members of a class
through member functions of that class, and you can only access the protected
members of a class through member functions of a class or classes derived from
that class.
Friend declarations are not affected by access specifiers.
Related References