Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk menentukan sama ada fungsi adalah fungsi rakan?
Cara untuk menentukan sama ada fungsi ialah fungsi rakan: Gunakan kata kunci rakan dalam pengisytiharan fungsi. Kelayakan nama kelas tidak diperlukan dalam pengisytiharan fungsi.
Cara menentukan sama ada fungsi ialah fungsi rakan
Fungsi rakan bukan sebahagian daripada kelas, tetapi ia masih boleh mengakses ahli peribadi kelas tersebut. Fungsi rakan boleh ditentukan dengan cara berikut:
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 ()
Fungsi ini ialah fungsi kawan kerana kata kunci friend
digunakan dalam pengisytiharannya. 🎜operator ialah fungsi rakan yang digunakan untuk membebankan operator output untuk menyesuaikan cara maklumat kelas percetakan dicetak. 🎜
Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada fungsi adalah fungsi rakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!