Adele
Grundsätzlich können Friend-Funktionen in C++ eingeführt werden, um einige spezifische Aufgaben zu bewältigen, die sich auf Klassenobjekte beziehen.
In C++ wissen wir, dass auf private Member nicht von der äußeren Klasse aus zugegriffen werden kann.
Das heißt, eine Nicht-Member-Funktion kann nicht auf die privaten Daten einer Klasse zugreifen.
Es kann jedoch eine Situation geben, in der wir möchten, dass zwei Klassen eine bestimmte Funktion teilen.
Betrachten Sie zum Beispiel einen Fall, in dem zwei Klassen, Manager und Wissenschaftler, definiert wurden.
Wir möchten eine Funktion income_tax() verwenden, um mit den Objekten dieser beiden Klassen zu arbeiten.
In einer solchen Situation ermöglicht C++, dass die gemeinsame Funktion mit beiden Klassen freundlich gestaltet wird. Eine solche Funktion muss nicht Mitglied einer dieser Klassen sein.
Um eine externe Funktion für eine Klasse freundlich zu machen, müssen wir diese Funktion einfach wie unten gezeigt als Freund einer Klasse deklarieren:
Class ABC
{
……
…..
Public:
……..
……..
Friend void xyz (void) ; //Erklärung
};
Dieser Funktionsdeklaration sollte das Schlüsselwort friend vorangestellt werden.
Die Funktion wird an anderer Stelle im Programm wie eine normale C++-Funktion definiert.
Die Funktionsdefinition verwendet weder das Schlüsselwort friend noch den Gültigkeitsbereichsoperator::
Die Funktionen, die mit dem Schlüsselwort friend deklariert werden, werden als Friend-Funktion bezeichnet.
Eine Funktion kann in beliebig vielen Klassen als Freund deklariert werden.
Eine Friend-Funktion, obwohl keine Member-Funktion volle Zugriffsrechte auf die privaten Member der Klasse hat.
Brooklyn
-> Friend-Funktion wird normalerweise für den Zugriff auf private Member der Klasse verwendet.-> Mit Hilfe der Friend-Funktion können wir auf verschiedene Klassenobjekte zugreifen.-> Beim Überladen von Operatoren können wir mit Hilfe der Friend-Funktion primitive Datentypargumente verwenden und Benutzer definieren Argument bei einer Funktion.-> Es ist keine Mitgliedsfunktion der Klasse.-> Wenn wir addieren, subtrahieren wollen... Auf anderen Klassen können wir die Friend-Funktion leicht verwenden.
Dorothy
Friend-Funktionen werden benötigt, um Brücken zwischen Klassen zu schlagen und eine normale Funktion zum Zugriff auf private Daten einer Klasse zuzulassen.
Annabel
Jigar,
(a) Sagen wir: In der Klasse 'A' deklarieren Sie die Funktion 'Fb' als Freundfunktion. Müssen Sie dann die Funktion 'Fb' in derselben Klasse 'A' / derselben Datei definieren?
(b) Wenn die Antwort auf (a) ja lautet, wie unterscheiden sich dann eine Member- und eine Friend-Funktion? Die Funktion 'Fb' hätte auch als Memberfunktion deklariert werden können. Welchen Unterschied macht es, sie als Friend-Funktion vs. Member-Funktion zu definieren?
(c)Haben Freundesfunktionen Nachteile?
Danke,
ak
Laron
Friend-Funktionen sind Nicht-Member-Funktionen, denen ein Schlüsselwort "friend" vorangestellt ist. Es wird für den Zugriff auf die Member einer Klasse verwendet, die eine Nicht-Member-Funktion ist.
Kaylah
Friend-Funktion wird benötigt, um offensichtlich auf private Variablen zuzugreifen.
Auf private Daten kann nicht von Nicht-Member-Funktionen oder von externen Klassen zugegriffen werden.