Section 11.5 “The C++ Programming Language” by Bjarne Stroustrup states that ordinary member functions get 3 things:
- access to internals of class
- are in the scope of the class
- must be invoked on an instance
friend
s get only 1.
static
functions get 1 and 2.