Friend Function

In CeePlusPlus, a friend function is a function that a class declares its "friend":

 class Foo {
 private:
 int heyThatsMine;

friend void foosFriend(Foo&); };

Functions are permitted to access private members of their friends, which, normally, only members of the same class are allowed to do.

 void foosFriend(Foo& foo) {
 foo.heyThatsMine = 0; // OK
 }

void notFoosFriend(Foo& foo) { foo.heyThatsMine = 0; // ERROR: Foo::heyThatsMine is private }

Friend function declarations are often used to grant access to private members to OverloadedOperator?s.

When I first saw this page I misread its title as "FriedFunction?"...


EditText of this page (last edited September 13, 2010) or FindPage with title or text search