Memahami Pengisytiharan Rakan dalam C
Dalam C , pengisytiharan rakan menyediakan cara untuk mengawal akses kepada ahli kelas dengan memberikan kelas luaran akses kepada data dan fungsi yang dilindungi atau peribadi.
Faedah dan Penggunaan Kes
Pengisytiharan rakan boleh memberi manfaat apabila:
Mengelakkan Pelanggaran Enkapsulasi
Menggunakan pengisytiharan rakan tidak semestinya memecahkan enkapsulasi, kerana ia hanya memberikan akses kepada kelas luaran tertentu yang ditakrifkan dalam ruang nama yang sama. Walaupun ia boleh mengurangkan enkapsulasi, ia membenarkan perkongsian terkawal data peribadi apabila perlu.
Contoh: Akses Rakan untuk Operator Terlebih Beban
Pertimbangkan senario berikut: anda mahu buat operator pemasukan dan pengekstrakan strim tersuai untuk kelas bernama "Point". Anda boleh menggunakan pengisytiharan rakan untuk mencapai ini:
class Point { int x, y; friend ostream& operator<<(ostream& out, const Point& point); friend istream& operator>>(istream& in, Point& point); }; ostream& operator<<(ostream& out, const Point& point) { out << "(" << point.x << ", " << point.y << ")"; return out; } istream& operator>>(istream& in, Point& point) { in >> point.x >> point.y; return in; }
Dengan pendekatan ini, anda boleh memasukkan dan mengeluarkan objek Titik menggunakan standard "<<" dan ">>" operator, walaupun kelas itu dikapsulkan.
Garis Panduan Menggunakan Pengisytiharan Rakan
Atas ialah kandungan terperinci Bagaimanakah Pengisytiharan Rakan dalam C Mengawal Akses kepada Ahli Kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!