class Y {
friend class X;
// ...
}
einfach die direkten Zugriffsrechte auf Elemente der Klasse X sichern (ohne X überhaupt zu fragen, ob es Y zum Freund haben will!). In C++ ist es also nicht möglich, sich selbstständig zum Freunde zu erklären, es müßte dazu schon die Deklaration der ursprünglichen Klasse geändert werden ("Man sucht sich seine Freunde ja schon noch gerne selber aus").
Zudem ist die Freundesbeziehung nicht transitiv, wie das Beispiel auf der folgenden Seite andeutet.