Heim >Backend-Entwicklung >C++ >Wie kann festgestellt werden, ob eine Funktion eine Friend-Funktion ist?
So ermitteln Sie, ob eine Funktion eine Friend-Funktion ist: Verwenden Sie das Schlüsselwort Friend in der Funktionsdeklaration. Klassennamenqualifikationsmerkmale sind in Funktionsdeklarationen nicht erforderlich.
So ermitteln Sie, ob eine Funktion eine Friend-Funktion ist
Eine Friend-Funktion ist nicht Teil einer Klasse, kann aber dennoch auf die privaten Mitglieder der Klasse zugreifen. Friend-Funktionen können auf folgende Weise ermittelt werden:
friend
friend
class MyClass { private: int data; friend void printData(const MyClass& obj); };
在上面的示例中,printData()
函数是一个友元函数,因为其声明中使用了关键字 friend
。
友元函数可以在类的外部声明,无需使用类名限定符:
class MyClass { private: int data; }; void printData(const MyClass& obj); // 友元函数声明
考虑以下示例,展示如何使用友元函数访问类的私有成员:
class MyClass { private: int data = 10; friend std::ostream& operator<<(std::ostream& os, const MyClass& obj) { os << "data: " << obj.data; return os; } }; int main() { MyClass obj; std::cout << obj << std::endl; // 输出:data: 10 return 0; }
在这个示例中,operatorrrreee
printData ()
Die Funktion ist eine Friend-Funktion, da in ihrer Deklaration das Schlüsselwort friend
verwendet wird. 🎜operator ist eine Friend-Funktion, die zum Überladen des Ausgabeoperators verwendet wird, um die Art und Weise anzupassen, wie Informationen der Druckklasse gedruckt werden. 🎜
Das obige ist der detaillierte Inhalt vonWie kann festgestellt werden, ob eine Funktion eine Friend-Funktion ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!