Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mengisytiharkan dan menggunakan fungsi rakan dalam C++?
Fungsi rakan dalam C++ ialah fungsi khas yang boleh mengakses ahli peribadi/dilindungi kelas lain. Kata kunci rakan perlu digunakan semasa mengisytiharkan fungsi rakan, seperti: mengisytiharkan fungsi rakan: rakan void printValue(const MyClass& obj menggunakan fungsi rakan: fungsi rakan boleh digunakan seperti fungsi biasa dan boleh mengakses peribadi/); ahli yang dilindungi; Kes praktikal: Dalam sistem pengelogan atau rangka kerja ujian, fungsi rakan boleh mengakses data peribadi kelas dan melaksanakan fungsi tertentu Nota: Fungsi rakan harus digunakan dengan berhati-hati, tandatangan lengkap mesti dinyatakan, dan ahli yang dilindungi tidak boleh diakses secara langsung; ahli itu Juga diisytiharkan sebagai kawan.
Isytihar dan gunakan fungsi rakan dalam C++
Fungsi rakan ialah fungsi atau kaedah global khas yang boleh mengakses ahli peribadi dan dilindungi kelas lain. Ini berguna dalam situasi di mana anda perlu mengakses data dalamannya atau operasi dari luar kelas.
Mengisytiharkan Fungsi Rakan
Untuk mengisytiharkan fungsi rakan, gunakan kata kunci rakan
seperti berikut: friend
关键字,如下所示:
class MyClass { private: int value; public: friend void printValue(const MyClass& obj); }; // 友元函数声明 void printValue(const MyClass& obj);
上述声明使 printValue
函数成为 MyClass
的友元函数。
使用友元函数
一旦声明了友元函数,就可以像使用其他全局函数一样使用它。友元函数具有访问类私有和受保护成员的特权。例如,在以下代码中,printValue
函数可以打印 MyClass
的私有成员 value
:
#include <iostream> using namespace std; class MyClass { private: int value; public: friend void printValue(const MyClass& obj); }; void printValue(const MyClass& obj) { cout << "Value: " << obj.value << endl; } int main() { MyClass obj; obj.value = 10; printValue(obj); return 0; }
输出:
Value: 10
实战案例
以下是一个利用友元函数的现实生活中的案例:
注意事项
friend
rrreeeprintValue
fungsi Rakan Kelas Saya. printValue
boleh mencetak value
ahli peribadi MyClass
: 🎜rrreee🎜Output: 🎜rrreee🎜🎜 Kes praktikal🎜 🎜🎜Berikut ialah contoh sebenar penggunaan fungsi rakan: 🎜Atas ialah kandungan terperinci Bagaimana untuk mengisytiharkan dan menggunakan fungsi rakan dalam C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!