Heim >Backend-Entwicklung >C++ >Welchen Umfang haben die Berechtigungen von C++-Friend-Funktionen?
Friend-Funktionen sind Nicht-Member-Funktionen, die über die Berechtigung verfügen, auf private Mitglieder einer Klasse zuzugreifen. Der Umfang der Berechtigungen ist auf die Klasse beschränkt, zu der sie gehören. Wie im Beispiel wird die Funktion „addMoney“ als Freund der Klasse „BankAccount“ deklariert und kann auf den Kontostand des privaten Mitglieds zugreifen und diesen bearbeiten.
Berechtigungsbereich der C++-Friend-Funktion
Was ist eine Friend-Funktion?
Eine Freundesfunktion ist eine spezielle Funktion für Nichtmitglieder, die auf Klassenmitglieder (privat oder geschützt) zugreifen kann, auf die normalerweise nur Klassenmitglieder zugreifen können. Ähnlich wie Mitgliedsfunktionen haben Friend-Funktionen die Möglichkeit, auf die interne Darstellung einer Klasse zuzugreifen.
Berechtigungsbereich
Der Umfang der Berechtigungen einer Friend-Funktion ist auf die Klasse beschränkt, in der sie als Friend-Funktion deklariert ist. Friend-Funktionen können nicht auf private oder geschützte Mitglieder anderer Klassen zugreifen.
Friend-Funktionen deklarieren
Um eine Funktion als Friend-Funktion zu deklarieren, können Sie das Schlüsselwort friend
verwenden, wie unten gezeigt: friend
关键字,如下所示:
class MyClass { private: int privateMember; public: // 声明一个友元函数 friend void myFriendFunction(MyClass& obj); };
实战案例
考虑一个使用友元函数来更改私有成员的类:
class BankAccount { private: int balance; public: // 友元函数可以访问私有成员 friend void addMoney(BankAccount& account, int amount); }; // 友元函数的定义 void addMoney(BankAccount& account, int amount) { account.balance += amount; }
在这个示例中,addMoney
函数被声明为 BankAccount
类的友元函数,因此它可以访问该类的私有成员 balance
rrreee
addMoney
als Friend-Funktion der Klasse BankAccount
deklariert, sodass dies möglich ist Greifen Sie auf das private Mitglied balance
zu und erhöhen Sie seinen Wert. 🎜Das obige ist der detaillierte Inhalt vonWelchen Umfang haben die Berechtigungen von C++-Friend-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!