Freundfunktionen
Freundfunktionen sind in der Programmiersprache C++ Funktionen, die nicht Mitglied einer Klasse sind, aber durch die Deklaration als Freund in dieser Klasse Zugriff auf deren private und geschützte Mitglieder erhalten. Eine solche Funktion kann damit intern verwendete Daten lesen oder verändern, ohne selbst Klassenmitglied zu sein. Die Freundschaft wird von der Klasse, der der Zugriff gewährt wird, explizit erklärt, üblicherweise durch das Schlüsselwort 'friend' in der Klassendefinition.
class Box { private: double w, h, d; public: Box(double w, double h, double d): w(w), h(h), d(d)
double volume(const Box& b) { return b.w * b.h * b.d; }
Eine Freundfunktion ist nicht Teil der Klasse: Sie hat keinen impliziten Zugriff auf andere Objekte außer dem,
Bekannte Anwendungsfälle sind Nichtmitglied-Operatoren, wie der Operator<< oder Operator+, wenn sie Zugriff auf private Daten benötigen,
Im Gegensatz zu Mitgliedsfunktionen verfügt eine Freundfunktion nicht über das this-Pointer und wird gewöhnlich außerhalb der