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.

C++ Tutorial


Ask Questions

Ask Question