Ya, fungsi C++ boleh diisytiharkan sebagai fungsi rakan. Fungsi rakan mempunyai sifat berikut: Mereka boleh mengakses ahli peribadi dan dilindungi kelas. Anda tidak boleh terus mengakses penuding kelas ini. Boleh ditakrifkan di luar skop kelas. Ia bukan fungsi ahli kelas dan tidak tergolong dalam antara muka kelas.
Fungsi rakan ialah fungsi bukan ahli yang mempunyai akses kepada ahli peribadi dan dilindungi kelas. Fungsi rakan boleh mengakses data yang terkandung dalam kelas lain dan sangat berguna dalam situasi khas.
Dalam C++, fungsi rakan boleh diisytiharkan dalam dua cara:
Fungsi rakan global:
friend void myFunction(classA& object);
Fungsi rakan semula: istics Fungsi Rakan
Kes praktikalCounter
类,它表示一个计数器。它的私有成员是一个表示计数的整数 count
。
class classA { friend void classB::myFunction(classA& object); };
我们希望创建一个友元函数 increment
Kaunter
, yang mewakili pembilang. Ahli peribadinya ialah count
integer yang mewakili kiraan. class Counter { private: int count; public: Counter(int c) : count(c) {} };
friend void increment(Counter& c) { c.count++; }
int main() { Counter c(0); increment(c); cout << c.count << endl; // 输出 1 return 0; }
Atas ialah kandungan terperinci Bolehkah fungsi C++ diisytiharkan sebagai fungsi rakan? Apakah ciri-ciri fungsi rakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!