Apa itu Fungsi Rakan?
Fungsi rakan adalah fungsi bukan ahli yang boleh mengakses ahli kelas yang dilindungi secara peribadi. "Teman" adalah kata kunci yang digunakan untuk menunjukkan bahawa fungsi adalah rakan kelas. Ini membolehkan penyusun mengetahui bahawa fungsi tertentu adalah rakan dari kelas yang diberikan. Fungsi rakan semestinya dapat mengakses ahli peribadi dan dilindungi dari kelas tertentu. Tanpa kata kunci rakan, fungsi luar bukan ahli hanya dapat mengakses anggota kelas awam.
Ciri-ciri Utama Fungsi Rakan:
Berikut adalah ciri utama fungsi rakan:
- Fungsi rakan tidak berada dalam ruang lingkup kelas.
- Fungsi rakan tidak boleh dipanggil menggunakan contoh kelas.
- Ia dapat mengakses anggota menggunakan objek dan operator titik.
Fungsi Sintaks Rakan:
Berikut adalah sintaks fungsi rakan:
kelas Class_Name_Demo…
…
friend_Type function_Name (arg_1, arg_2,…) rakan;
;
Contoh Fungsi Rakan:
Sekarang, mari kita lihat contoh program untuk memahami konsep fungsi rakan di C++. Dalam contoh program di bawah ini, kita mempunyai kelas "Friend_Demo". Ia mempunyai tiga jenis anggota data yang berbeza, i.e., peribadi, dilindungi dan awam.
Kami telah menentukan fungsi lain, i.e., "FriendDemo_Func ()" di luar ruang lingkup kelas "Friend_Demo" dan cuba mengakses ahli (peribadi, dilindungi, dan umum) kelas "Friend_Demo".
Tetapi, seperti yang anda lihat dalam output di bawah ini ketika kita menyusun program, ini akan menyebabkan kesalahan penyusunan. Fungsi rakan akan menyelesaikan masalah ini dengan tepat.
#sertakanmenggunakan ruang nama std;
rakan_Demo kelas
peribadi:
int i_private;
dilindungi:
int i_proteksi;
awam:
int i_public;
;
batal rakanDemo_Func ()
Kawan_Demo fd;
fd.i_private = 10;
fd.i_protected = 15;
fd.i_public = 20;
cout << fd.i_private << endl;
cout << fd.i_protected << endl;
cout << fd.i_public << endl;
int utama ()
rakanDemo_Func ();
pulangan 0;
Dalam program sebelumnya, kami mendapat ralat kompilasi semasa cuba mengakses anggota kelas peribadi, terlindung, dan awam dari fungsi bukan anggota. Ini kerana fungsi bukan ahli tidak dibenarkan mengakses ahli kelas peribadi dan dilindungi dari luar ruang lingkup kelas.
Sekarang, dalam contoh ini, kita telah menyatakan fungsi "friendDemo_Func ()" sebagai rakan dalam ruang lingkup kelas, saya.e., "Friend_Demo":
kawan batal kawanDemo_Func ();Kami telah membuat objek, i.e., "Fd" dari kelas "Friend_Demo" di dalam fungsi "friendDemo_Func ()". Sekarang, kita dapat mengakses anggota peribadi, dilindungi, dan umum kelas "Friend_Demo" menggunakan operator titik. Kami telah menetapkan masing-masing 10, 15, dan 20 untuk i_private, i_protected, dan i_public.
Seperti yang anda lihat dalam output di bawah ini, program ini kini disusun dan dilaksanakan tanpa kesalahan dan mencetak output seperti yang diharapkan.
#sertakanmenggunakan ruang nama std;
rakan_Demo kelas
peribadi:
int i_private;
dilindungi:
int i_proteksi;
awam:
int i_public;
kawan batal kawanDemo_Func ();
;
batal rakanDemo_Func ()
Kawan_Demo fd;
fd.i_private = 10;
fd.i_protected = 15;
fd.i_public = 20;
cout << fd.i_private << endl;
cout << fd.i_protected << endl;
cout << fd.i_public << endl;
int utama ()
rakanDemo_Func ();
pulangan 0;
Kesimpulan:
Dalam artikel ini, saya telah menerangkan konsep fungsi rakan di C++. Saya juga telah menunjukkan dua contoh kerja untuk menerangkan bagaimana fungsi rakan bertindak dalam C++. Kadang-kadang, fungsi rakan boleh sangat berguna dalam persekitaran pengaturcaraan yang kompleks. Walau bagaimanapun, seorang pengaturcara harus berhati-hati dengan terlalu banyak menggunakannya dan menjejaskan ciri OOPnya.