Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Beginner
Jul 18, 1997

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 private members of a class, just like any other member function. If the whole class is declared as a friend, any member function of that class can access 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 class
private:
   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
}
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date