We make a non-member function a friend of a class when we want it to access that class\'s private members. This gives it the same access rights as a static member function w
Section 11.5 "The C++ Programming Language" by Bjarne Stroustrup states that ordinary member functions get 3 things:
friends get only 1.
friend
static functions get 1 and 2.
static