Ganze Klassen als Freunde

Es ist auch möglich, ganze Klassen zu Freunden anderer Klassen zu machen, d.h. alle Element-Funktionen einer Klasse werden zu friend-Funktionen einer anderen Klasse. Hierfür gibt es sogar eine Kurzschreibweise:

  class Y {
      friend class X;
      // ...
  };

Hier sind nun alle Elementfunktionen der Klasse X friends der Klasse Y. Die Friend-Beziehung ist aber zunächst nur einseitig, d.h. die Elementfunktionen der Klasse Y sind nicht automatisch friends der Klasse X und haben damit auch keinen direkten Zugriff auf private Elemente der Klasse X.