Friend Function - Class
What are Friend Function in C++?
How to bridge between two classes in C++?
Explanation
A
Friend Function is a function that can have access to even the private, protected members of a class. This can be an ordinary function or a member of another class. It acts as a bridge between two classes.
Example :
#include <iostream.h> class friendcl { private: int a,b; public: friend int sum ( friendcl x); void set( int w, int q); }; void friendcl:: set( int w, int q) { a= w; b=q; } int sum (friendcl x) { return x.a + x.b; } int main() { friendcl r; r.set(6,7); cout << "The sum of the values is::" << sum (r); return 0; } |
Result :
The sum of the values is::13
In the above example the class "sum" is a friend function for the class "friendcl". So this can use even the private variables "a,b" of the class "friendcl". The function "sum" is not a member of any class. The "x" is an object of the class "friendcl" function, which is declared in the friend function to pass arguments.
Thus, a bridge between two classes, i.e. "sum" and "friendcl" can be established.