Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bolehkah fungsi C++ diisytiharkan sebagai fungsi rakan? Apakah ciri-ciri fungsi rakan?

Bolehkah fungsi C++ diisytiharkan sebagai fungsi rakan? Apakah ciri-ciri fungsi rakan?

王林
王林asal
2024-04-19 22:12:01373semak imbas

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.

C++ 函数可以声明为友元函数吗?友元函数的特性是什么?

Bolehkah fungsi C++ diisytiharkan sebagai fungsi rakan? Apakah ciri-ciri fungsi rakan?

Fungsi Rakan

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.

Isytihar fungsi rakan

Dalam C++, fungsi rakan boleh diisytiharkan dalam dua cara:

  • Fungsi rakan global:

    friend void myFunction(classA& object);

Fungsi rakan semula: istics Fungsi Rakan

    Fungsi rakan mempunyai ciri-ciri berikut:
  • Boleh mengakses ahli kelas peribadi dan dilindungi.
  • Anda tidak boleh mengakses secara langsung penunjuk kelas ini.
  • Boleh ditakrifkan di luar skop kelas.
Ia bukan fungsi ahli kelas dan tidak tergolong dalam antara muka kelas.

Kes praktikalCounter 类,它表示一个计数器。它的私有成员是一个表示计数的整数 count

class classA {
  friend void classB::myFunction(classA& object);
};

我们希望创建一个友元函数 increment

Andaikan kita mempunyai kelas Kaunter, yang mewakili pembilang. Ahli peribadinya ialah count integer yang mewakili kiraan.

class Counter {
private:
    int count;
public:
    Counter(int c) : count(c) {}
};

Kami ingin mencipta fungsi rakan kenaikan yang boleh menambah nilai pembilang.

friend void increment(Counter& c) {
    c.count++;
}

Kini, kita boleh menggunakan fungsi rakan untuk menambah nilai kaunter:

int main() {
    Counter c(0);
    increment(c);
    cout << c.count << endl; // 输出 1
    return 0;
}

Kesimpulan🎜🎜Fungsi rakan ialah ciri berkuasa dalam C++ yang menyediakan akses kepada ahli peribadi dan dilindungi. Ia boleh diisytiharkan dalam dua cara dan berguna dalam kes khas, seperti apabila data peribadi perlu diakses daripada kelas lain. 🎜

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn