when do we use friend function to overload
Operator overloading
An overloaded operator friend could be declared in either private or public section of a class.
When an operator overloaded function is a friend function, it takes two operands of user-defined data type.