C ++

Fungsi Rakan C ++

Fungsi Rakan C ++
Fungsi adalah sekumpulan kod yang melakukan tugas tertentu dan memberikan output. Ia digunakan terutamanya untuk menghilangkan kod berulang. Dalam tutorial ini, kita akan melihat fungsi rakan di C ++ dan menerangkan konsepnya dengan contoh kerja.

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:

  1. Fungsi rakan tidak berada dalam ruang lingkup kelas.
  2. Fungsi rakan tidak boleh dipanggil menggunakan contoh kelas.
  3. 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.

#sertakan
menggunakan 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.

#sertakan
menggunakan 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.

Cara menukar saiz, warna & skema penunjuk dan kursor tetikus pada Windows 10
Penunjuk dan kursor tetikus di Windows 10 adalah aspek yang sangat penting dalam sistem operasi. Ini boleh dikatakan untuk sistem operasi lain juga, j...
Enjin Permainan Sumber Percuma dan Terbuka untuk Membangunkan Permainan Linux
Artikel ini akan merangkumi senarai enjin permainan sumber percuma dan terbuka yang dapat digunakan untuk mengembangkan permainan 2D dan 3D di Linux. ...
Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah penambahan kedua belas untuk siri Tomb Raider - francais permainan aksi-pengembaraan yang dibuat oleh Eidos Montreal....