friend specifier |
Grants access to private class members
|
The friend specifier declares a friend function,
class, or template. A friend declaration can appear only in a class
or class template definition. A friend has full access to the private
members of the class that contains the friend declaration. A friend
function declaration can be a function definition.
If a class template contains a friend declaration, all instantiations
of the template grant friendship. If the friend is a template
declaration, all instantiations of the template are friends. If the
friend is a template specialization or instantiation, only that
specialization or instantiation is a friend.
Friendship is not transitive, nor is it inherited.
Example
class list {
friend bool operator==(const list& a, const list& b);
friend class node;
...
};
See Also
class, declaration,
template, Chapter 6, Chapter 7
|