Friend Function In C++ : Check Here To Know

Safalta Expert Published by: Saksham Chauhan Updated Fri, 16 Sep 2022 01:12 AM IST


Despite being defined outside of the class, a friend function has access to all of the private and protected members. Despite the fact that the prototypes for friend functions may be found in the class specification, friends are not member functions. All access rights are granted to a function when it is declared as a friend. Neither the object's name nor the dot operator are used when the friend function is invoked.

A friend function, despite being defined outside of the class, has access to all private and protected members. Friends are not member functions, despite the fact that prototypes for them can be found in the class definition. In C++, a buddy function is a one-of-a-kind function that, although not being a member of a class, has access to its private and protected data. A friend function is a non-member or ordinary function of a class that has been marked as a friend by using the word "friend" within the class. When a function is declared as a friend, it gains all access permissions.


The term "friend" appears only in the function declaration of the friend function, not in the definition.When the friend function is called, neither the object's name nor the dot operator are used. Friends should only be utilised for particular purposes. When too many functions or external classes are defined as friends of a class with protected or private data, the benefit of encapsulating various classes in object-oriented programming is diminished.

Free Demo Classes

Register here for Free Demo Classes

Please fill the name
Please enter only 10 digit mobile number
Please select course
Please fill the email
Friendships are not mutual. Class B does not become a buddy of class A simply because class A is. The object whose value is sought may be accepted as an argument. Download these FREE Ebooks:
1. Introduction to Digital Marketing
2. Website Planning and Creation

A friend class has access to secret and protected members of the class to which it has been designated as a friend. Allowing a specific class to access private members of another class is occasionally beneficial. For example, a LinkedList class may be granted access to Node's secret members. A friend class has access to both private and protected members of the class that has declared it as a friend.

Place the following statement in the definition of class ClassOne to declare all member functions of class ClassTwo as friends of class ClassOne:

friend class ClassTwo;

class buddy ClassTwo;


The outcome of compiling and running the aforementioned code is as follows:

Width of box : 10

A straightforward and comprehensive C++ application that shows how friends are used in another class

int main()
    A a;
    B x;
    return 0;


B::b = 0

You can also check

Free E Books