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

王林
Lepaskan: 2024-04-19 22:12:01
asal
365 orang telah melayarinya

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);
    Salin selepas log masuk

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);
};
Salin selepas log masuk

我们希望创建一个友元函数 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) {}
};
Salin selepas log masuk

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

friend void increment(Counter& c) {
    c.count++;
}
Salin selepas log masuk

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

int main() {
    Counter c(0);
    increment(c);
    cout << c.count << endl; // 输出 1
    return 0;
}
Salin selepas log masuk
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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!