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}