devxlogo

Friend class and function

Friend class and function

Question:
I need to know what the class or function called “friend” is. My teacher explained it in class, but I don’t quite understand how to call it and declare it.

Answer:
A friend function is allowed to access all the protected and privatemembers of a class, just like any other member function. If the wholeclass is declared as a friend, any member function of that class canaccess the private and public members of the original class.

Here is an example:

class X{   X ();};class A{public:   A ();   friend class B; // friend class declaration   friend void foo (); // friend function   friend X::X (); // friend member function of another classprivate:   int i; // private member.};void bar () // non-friend{   A a;   a.i = 10; // **error** A::i is private}void foo (){   A a;   a.i = 10; // **OKAY*** foo is a friend}

See also  Professionalism Starts in Your Inbox: Keys to Presenting Your Best Self in Email
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist