October 1997
Intermediate to advanced
800 pages
20h 48m
English
“Friend Functions” on page 326 shows how nontemplate classes grant functions access to their nonpublic sections. This same concept applies to template classes with the following format.
template <class TYPE> class Class_name { . . . friend Type function_name(signature); // friend function . . . };
There are three choices for friendship with template class instantiations.
A nontemplate function may be a friend to all template class instantiations.
A template function instantiated with one type may be a friend to one template class instantiation with the same type (one-to-one).
A template function instantiated with one type may be a friend to all template class instantiations of different types (one-to-many).
Here ...