Direkomendasikan, 2024

Pilihan Editor

Perbedaan antara Fungsi Teman dan Kelas Teman

Fungsi Teman dan kelas teman adalah teknik yang digunakan untuk mengakses anggota pribadi kelas dengan menggunakan kata kunci teman. Perbedaan umum antara fungsi teman dan kelas teman adalah ketika fungsi teman digunakan anggota kelas privat dapat diakses tetapi di kelas teman, hanya nama-nama kelas teman yang diakses bukan anggota pribadi kelas.

Fitur teman apakah digunakan oleh fungsi atau kelas dapat menghasilkan dampak negatif pada kerangka kerja berorientasi objek karena melemahkan enkapsulasi yang bertentangan dengan paradigma berorientasi objek . Ini adalah alasan mengapa fitur teman harus digunakan dengan bijak jika tidak maka dapat merusak data yang menyembunyikan kode.

Fitur teman ini tidak komutatif dan juga tidak transitif . X adalah teman Y tidak menyimpulkan bahwa Y juga adalah teman X. Jika X adalah teman Y dan Y adalah teman Z, tidak berimplikasi bahwa X adalah teman Z.

Grafik perbandingan

Dasar untuk perbandinganFungsi TemanKelas Teman
DasarIni adalah fungsi yang digunakan dengan kata kunci teman untuk memberikan akses fungsi non-anggota ke anggota pribadi kelas.Ini adalah kelas yang digunakan dengan kata kunci teman untuk mengakses anggota pribadi dari kelas lain.
Deklarasi ke depanHarus digunakan.Tidak wajib.
MenggunakanFungsi teman dapat digunakan dalam beberapa situasi kelebihan operator.Kelas teman dapat digunakan ketika kelas dibuat di atas kelas lain.

Definisi Fungsi Teman

Fungsi teman digunakan untuk mengakses anggota kelas yang pribadi dan terlindungi dengan mengizinkan fungsi bukan anggota untuk mendapatkan akses. Dalam jenis fungsi ini, kata kunci teman digunakan sebelum nama fungsi pada saat deklarasi. Ada beberapa kondisi pembatasan yang diterapkan pada fungsi teman. Kondisi pertama adalah bahwa fungsi teman tidak diwarisi oleh kelas anak. Kondisi kedua adalah bahwa specifier kelas penyimpanan mungkin tidak ada dalam fungsi teman, yang berarti tidak dapat dinyatakan sebagai statis dan eksternal.

Fungsi teman tidak dipanggil dengan objek kelas yang dipanggil. Contoh-contoh fungsi teman adalah: fungsi global, fungsi anggota kelas, templat fungsi dapat menjadi fungsi teman. Mari kita memahaminya dengan bantuan contoh.

 #include using namespace std; kelas pertama {data int; publik: pertama (int i): data (i) {} tampilan void teman (const first & a); }; tampilan batal (const first & a) {cout << "data =" < 

Definisi Kelas Teman

Mirip dengan fungsi teman kita dapat membuat satu kelas menjadi teman dari kelas lain yang disebut sebagai kelas teman . Sehingga kelas teman dapat memperoleh akses ke anggota pribadi yang ditentukan dalam kelas lainnya. Penting untuk diingat bahwa kelas teman hanya dapat mengakses nama-nama yang didefinisikan dalam kelas lain alih-alih mewarisi kelas lain. Tepatnya, anggota kelas pertama tidak bisa menjadi anggota kelas teman. Kelas teman ini jarang digunakan.

Kelas teman dapat dideklarasikan dalam lebih dari satu kelas. Ini dianggap sebagai metode alternatif singkat untuk fungsi teman karena dengan bantuan ini kita dapat membuat kelas teman yang dapat mengakses seluruh anggota data dan fungsi alih-alih membuat beberapa fungsi teman.

 #include using namespace std; class First {// Deklarasi teman kelas teman kelas Kedua; publik: Pertama (): a (0) {} batal cetak () {cout << "Hasilnya adalah" << a << endl; } pribadi: int a; }; class Second {public: void change (First & yclass, int x) {yclass.a = x; }}; int main () // Output Hasilnya adalah 0 Hasilnya adalah 5 

Perbedaan Kunci Antara Fungsi Teman dan Kelas Teman

  1. Fungsi teman adalah fungsi yang dapat mengakses anggota kelas yang pribadi dan terlindungi. Sebaliknya, kelas teman adalah kelas yang membantu mengakses anggota pribadi kelas.
  2. Fungsi pertemanan dideklarasikan dengan memasukkan prototipenya di dalam kelas, mengawalinya dengan teman kata kunci. Demikian pula, kelas teman juga didefinisikan menggunakan kata kunci teman.
  3. Deklarasi maju digunakan dalam kasus fungsi teman yang bertentangan, tidak perlu menggunakannya di kelas teman.

Kesimpulan

Fungsi teman diperlukan ketika fungsi perlu mengakses dua atau lebih kelas independen, anggota internal. Di sisi lain, kelas teman diperlukan ketika kelas mengharuskan mengakses anggota kelas lain. Ketika fungsi beberapa anggota perlu menjadi teman dari fungsi itu, dalam hal itu, lebih baik menggunakan kelas teman.

Top