Verstehen von Friend-Deklarationen in C
In C bietet die Friend-Deklaration eine Möglichkeit, den Zugriff für Klassenmitglieder zu steuern, indem externen Klassen Zugriff gewährt wird anderweitig geschützte oder private Daten und Funktionen.
Vorteile und Nutzung Fälle
Freundschaftserklärungen können in folgenden Fällen von Vorteil sein:
Vermeidung von Kapselungsverletzungen
Die Verwendung von Friend-Deklarationen bricht nicht unbedingt die Kapselung, da sie nur gewährt Zugriff auf bestimmte externe Klassen, die im selben Namespace definiert sind. Während es die Kapselung reduzieren kann, ermöglicht es bei Bedarf die kontrollierte Freigabe privater Daten.
Beispiel: Friend-Zugriff für überlastete Operatoren
Stellen Sie sich das folgende Szenario vor: Sie möchten Erstellen Sie benutzerdefinierte Operatoren zum Einfügen und Extrahieren von Streams für eine Klasse mit dem Namen „Point“. Sie können Friend-Deklarationen verwenden, um dies zu erreichen:
class Point { int x, y; friend ostream& operator<<(ostream& out, const Point& point); friend istream& operator>>(istream& in, Point& point); }; ostream& operator<<(ostream& out, const Point& point) { out << "(" << point.x << ", " << point.y << ")"; return out; } istream& operator>>(istream& in, Point& point) { in >> point.x >> point.y; return in; }
Mit diesem Ansatz können Sie Punktobjekte mit dem Standard „<<“ eingeben und ausgeben. und „>>“ Operatoren, auch wenn die Klasse gekapselt ist.
Richtlinien für die Verwendung von Friend-Deklarationen
Das obige ist der detaillierte Inhalt vonWie können Friend-Deklarationen in C den Zugriff auf Klassenmitglieder steuern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!