The concept of encapsulation and data hiding indicate that nonmember functions should not be able to access an object’s private and protected data. The policy is if you are not a member, you can’t get it. But there is a certain situation wherein you need to share your private or protected data with nonmembers. ‘Friends’ come here as a rescue.
A friend function is a non-member function that grants access to class’s private and protected members.
Pointers for friend functions:
- A friend function may be declared friend of more than one class.
- It does not have the class scope as it depends on function’s original definition and declaration.
- It does not require an object (of the class that declares it a friend) for invoking it. It can be invoked like a normal function.
- Since it is not a member function, it cannot access the members of the class directly and has to use an object name and membership operator (.) with each member name.
- It can be declared anywhere in the class without affecting its meaning.
- A member function of the class operates upon the members of the object used to invoke it, while a friend function operates upon the object passed to it as argument.
About our authors: Team EQA
You have viewed 1 page out of 62. Your C++ learning is 0.00% complete. Login to check your learning progress.