C ++ Freundfunktion

C ++ Freundfunktion
Eine Funktion ist ein Codeblock, der eine bestimmte Aufgabe ausführt und die Ausgabe liefert. Es wird hauptsächlich verwendet, um sich wiederholte Code zu beseitigen. In diesem Tutorial werden wir uns mit der Freundschaftsfunktion in C ++ befassen und ihr Konzept anhand von Beispielen erläutern.

Was ist Freundfunktion?

Freundfunktion ist eine Nichtmitglied-Funktion, die auf die privaten und geschützten Mitglieder einer Klasse zugreifen kann. "Freund" ist ein Schlüsselwort, das verwendet wird, um anzuzeigen, dass eine Funktion der Freund einer Klasse ist. Dadurch kann der Compiler wissen, dass die bestimmte Funktion ein Freund der angegebenen Klasse ist. Die Freundschaftsfunktion sollte dann in der Lage sein, auf das private und geschützte Mitglied einer bestimmten Klasse zugreifen zu können. Ohne das Schlüsselwort des Freundes kann ein Nichtmitglied externen Funktion nur auf die öffentlichen Mitglieder einer Klasse zugreifen.

Schlüsselmerkmale der Freundschaftsfunktion:

Hier sind die Schlüsselmerkmale der Freundschaftsfunktion:

  1. Eine Freundschaftsfunktion befindet sich nicht im Rahmen der Klasse.
  2. Die Freundschaftsfunktion kann nicht mit einer Instanz einer Klasse aufgerufen werden.
  3. Es kann über den Objekt und den Punktoperator auf die Mitglieder zugreifen.

Syntax der Freundenfunktion:

Hier ist die Syntax der Freundschaftsfunktion:

class class_name_demo



Freund return_type function_name (arg_1, arg_2,…);
;

Beispiel für die Freundschaftsfunktion:

Lassen Sie uns nun ein Beispielprogramm untersuchen, um das Konzept der Freundschaftsfunktion in C zu verstehen++. Im folgenden Beispiel haben wir die Klasse "Friend_Demo". Es hat drei verschiedene Arten von Datenmitgliedern, ich.e., privat, geschützt und öffentlich.

Wir haben eine andere Funktion definiert, ich.e., "FriendDemo_Func ()" außerhalb des Geltungsbereichs der Klasse "Friend_Demo" und versuchte, auf die Mitglieder (privat, geschützt und öffentlich) der Klasse "Friend_Demo" zugreifen zu können.

Wie Sie jedoch in der folgenden Ausgabe sehen können, wenn wir das Programm kompilieren, wirft es Kompilierungsfehler aus. Die Freundschaftsfunktion wird dieses Problem genau lösen.

#enthalten
Verwenden von Namespace STD;
Klasse Friend_Demo

Privatgelände:
int i_private;
geschützt:
int i_Protected;
öffentlich:
int i_public;
;
void Frienddemo_func ()

Friend_demo fd;
fd.i_private = 10;
fd.I_Protected = 15;
fd.i_public = 20;
Cout << fd.i_private << endl;
Cout << fd.i_protected << endl;
Cout << fd.i_public << endl;

int main ()

FriendDemo_Func ();
Rückkehr 0;

Im vorherigen Programm haben wir Zusammenstellungsfehler erhalten, während wir versuchten, auf die privaten, geschützten und öffentlichen Mitglieder einer Klasse aus einer Nichtmitgliedern zuzugreifen. Dies liegt daran.

In diesem Beispiel haben wir nun die Funktion „Frienddemo_func ()“ als Freund im Rahmen der Klasse deklariert, ich.e., "Friend_demo":

Freund void Frienddemo_func ();

Wir haben ein Objekt erstellt, ich.e., "Fd" der Klasse "Freund_Demo" in der Funktion "FriendDemo_Func ()". Jetzt können wir mit dem Punktbetreiber auf die privaten, geschützten und öffentlichen Mitglieder der Klasse „Friend_Demo“ zugreifen. Wir haben I_Private, I_Protected bzw. i_public 10, 15 und 20 zugewiesen.

Wie Sie in der folgenden Ausgabe sehen können, wird dieses Programm jetzt ohne Fehler zusammengestellt und ausgeführt, und druckt die Ausgabe wie erwartet aus.

#enthalten
Verwenden von Namespace STD;
Klasse Friend_Demo

Privatgelände:
int i_private;
geschützt:
int i_Protected;
öffentlich:
int i_public;
Freund void Frienddemo_func ();
;
void Frienddemo_func ()

Friend_demo fd;
fd.i_private = 10;
fd.I_Protected = 15;
fd.i_public = 20;
Cout << fd.i_private << endl;
Cout << fd.i_protected << endl;
Cout << fd.i_public << endl;

int main ()

FriendDemo_Func ();
Rückkehr 0;

Abschluss:

In diesem Artikel habe ich das Konzept der Freundschaftsfunktion in C erklärt++. Ich habe auch zwei Arbeitsbeispiele gezeigt, um zu erklären, wie sich die Freundfunktion in C verhält++. Manchmal kann die Freundfunktion in einer komplexen Programmierumgebung sehr nützlich sein. Ein Programmierer sollte jedoch vorsichtig sein, um ihn zu überbearbeiten und seine OOP -Funktionen zu beeinträchtigen.