Friend-Funktion : Es ist im Grunde eine Funktion, die verwendet wird, um auf alle privaten und geschützten Mitglieder von Klassen zuzugreifen. Sie wird als Nichtmitgliedsfunktion der Klasse betrachtet und von der Klasse deklariert, die den Zugriff gewährt. Dieser Funktion wird das Schlüsselwort friend in der Deklaration vorangestellt, wie unten gezeigt:

Klassendefinition mit Friend-Funktion:

C++

class freetrial {
private:
    {
    public:
        {
            friend void check();
        }
        void check();
    }
}

Member-Funktion: Es ist im Grunde eine Funktion , die als Mitglieder einer Klasse deklariert werden kann. Es wird normalerweise innerhalb der Klassendefinition deklariert und arbeitet mit Datenmembern derselben Klasse. Sie kann Zugriff auf private, öffentliche und geschützte Datenmember derselben Klasse haben. Diese Funktion wird wie folgt deklariert:

Klassendefinition mit Member-Funktion:

C++

class freetrial {
private:
    {
    public:
        {
            void check();
        }
        trial::void check();
    }
}

Tabellarischer Unterschied zwischen der Friend-Funktion und der Member-Funktion:

Friend-Funktion

Mitgliedsfunktion

Es kann in beliebig vielen Klassen mit dem Schlüsselwort Friend deklariert werden.Sie kann nur im privaten, öffentlichen oder geschützten Gültigkeitsbereich einer bestimmten Klasse deklariert werden.
Diese Funktion hat Zugriff auf alle privaten und geschützten Member von Klassen.Diese Funktion hat Zugriff auf private und geschützte Mitglieder derselben Klasse.
Man kann ohne Widerspruch die Friend-Funktion in der Main-Funktion aufrufen.Man muss ein Objekt derselben Klasse erstellen, um die Member-Funktion der Klasse aufzurufen.
Das Schlüsselwort Friend wird im Allgemeinen verwendet, um eine Funktion als Friend-Funktion zu deklarieren.In diesen ist kein solches Schlüsselwort erforderlich.
Es kann nicht mit aufgerufen werden, kann wie eine normale Funktion aufgerufen werden, ohne ein Objekt zu verwenden, außerhalb des Klassenbereichs definiert zu werden usw.Es hat seinen eigenen Prototyp innerhalb der Klassendefinition, arbeitet mit jedem Objekt der Klasse, hat Zugriff auf alle Mitglieder der Klasse usw.
Diese Methode bietet Zugriff auf bereitgestellte und geschützte Datenelemente.Dieses Verfahren verleiht einem Programm Modularität.
Es wird im Allgemeinen verwendet, um private und geschützte Datenmitglieder der Klasse zu modifizieren oder zu ändern.Es wird im Allgemeinen verwendet, um die Wiederverwendbarkeit von Code zu verbessern und Code wartbar zu machen.
Es bietet auch zusätzliche Funktionalität, die außerhalb der Klasse gehalten wird, bietet Funktionen, die Daten benötigen, ermöglicht das Teilen privater Klasseninformationen durch Nichtmitgliederfunktionen usw.Es ermöglicht den Zugriff auf interne private Daten, kann als allgemeines Protokoll oder Schnittstelle verwendet werden, verwendet es nur für interne Zwecke und nicht-veröffentlichbare Operationen wie Initialisierung und Zwischenergebnisse von Berechnungen.
Dabei nimmt die binäre Operation normalerweise zwei explizite Parameter.Dabei nehmen binäre Operationen normalerweise nur einen expliziten Parameter an.
Der unäre Operator akzeptiert mindestens einen expliziten Parameter.Der unäre Operator akzeptiert keinen expliziten Parameter.
Es ist nicht Teil der Klasse.Sie ist Teil der Klassendefinition und wird von einem bestimmten Objekt aufgerufen.