Lecture 4 - Slide 32 : 40
A friend of class C has access to private and protected members of C

In some cases it is convenient define a function as a friend instead as a member.

Because a friend is activated in another way than a member: f(x,y) versus x.f(y).