Fungsi Teman di C++ & Use Case dengan Contoh

Diterbitkan: 2022-10-22

Penyembunyian data adalah teknik pengembangan perangkat lunak mendasar yang banyak digunakan dalam bahasa pemrograman berorientasi objek (OOP). Ini membatasi akses ke anggota data pribadi dari luar kelas. Namun, fitur C++ yang dikenal sebagai fungsi teman bertentangan dengan prinsip penyembunyian data.

Pada artikel ini, Anda akan mempelajari apa itu fungsi teman di C++ , apa itu kelas teman dan menjelajahi beberapa kasus penggunaan dengan contoh-contohnya.

Lihat kursus teknologi gratis kami untuk mendapatkan keunggulan dalam persaingan.

Daftar isi

Apa fungsi teman di C++?

Fungsi teman di C++ adalah fungsi yang dideklarasikan di luar kelas tetapi memiliki akses ke anggota kelas yang privat dan terlindungi. Meskipun anggota pribadi dari kelas tertentu tidak dapat diakses oleh fungsi non-anggota, mendeklarasikannya sebagai fungsi teman memberi mereka akses ke anggota kelas yang pribadi dan dilindungi.

Lihat Sertifikasi Tingkat Lanjut upGrad di DevOps

Karakteristik Fungsi Teman

Fungsi teman di C++ memiliki karakteristik sebagai berikut:

  • Fungsi teman berada di luar cakupan kelas yang telah dinyatakan sebagai teman
  • Fungsi teman bisa menjadi anggota kelas atau fungsi yang dideklarasikan di luar ruang lingkup kelas
  • Fungsionalitas teman tidak terbatas pada satu kelas.

Jelajahi Kursus Rekayasa Perangkat Lunak Populer kami

Master of Science dalam Ilmu Komputer dari LJMU & IIITB Program Sertifikat Keamanan Siber CTME Caltech
Bootcamp Pengembangan Tumpukan Penuh Program PG di Blockchain
Program PG Eksekutif dalam Pengembangan Tumpukan Penuh
Lihat Semua Kursus kami Di Bawah
Kursus Rekayasa Perangkat Lunak

  • Memanggil fungsi teman seperti menjalankan fungsi normal dari kelas tanpa menggunakan objek
  • Kami tidak dapat memanggil fungsi teman menggunakan objek karena tidak dalam ruang lingkup kelas
  • Fungsi teman di C++ memiliki objek sebagai argumen
  • Kami dapat mendeklarasikan fungsi teman baik di bagian pribadi atau publik
  • Nama anggota tidak dapat diakses langsung ke fungsi teman, dan harus menggunakan operator keanggotaan titik dan nama objek dengan nama anggota

Lihat Sertifikasi Lanjutan dari Grad dalam Keamanan Cyber

Sintaks Fungsi Teman

Untuk mendeklarasikan fungsi friend, kita menggunakan kata kunci friend di dalam badan kelas. Sintaks dari fungsi teman adalah:

nama kelas kelas {

… .. …

teman returnType functionName(daftar argumen);

… .. …

}

Keterampilan Pengembangan Perangkat Lunak Sesuai Permintaan

Kursus JavaScript Kursus Inti Java Kursus Struktur Data
Kursus Node.js Kursus SQL Kursus pengembangan tumpukan penuh
Kursus NFT Kursus DevOps Kursus Data Besar
Kursus React.js Kursus Keamanan Cyber Kursus Komputasi Awan
Kursus Desain Basis Data Kursus Python Kursus Mata Uang Kripto

Jika kita memecah sintaks, inilah arti setiap istilah:

  • teman adalah kata kunci yang menunjukkan bahwa fungsinya adalah fungsi teman
  • returnType adalah tipe kembalinya fungsi
  • functionName adalah nama fungsi yang dijadikan teman kelas
  • daftar arg adalah argumen yang akan kami sampaikan

Pelajari Kursus Pengembangan Perangkat Lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Contoh Fungsi Teman C++

Sekarang, mari kita lihat beberapa program untuk mengilustrasikan fungsi teman.

Contoh 1: C++ friend berfungsi untuk mencetak tinggi kotak

#sertakan <iostream>

menggunakan namespace std;

kotak kelas

{

pribadi:

int tinggi;

publik:

Kotak(): tinggi(0) { }

teman int printHeight(Kotak); //fungsi teman

};

int printTinggi(Kotak h)

{

h.tinggi += 40;

kembali h.height;

}

int utama()

{

Kotak h;

cout<<“Tinggi kotak: “<< printHeight(h)<<endl;

kembali 0;

}

Baca Artikel Populer kami yang terkait dengan Pengembangan Perangkat Lunak

Bagaimana Menerapkan Abstraksi Data di Jawa? Apa itu Kelas Dalam di Jawa? Java Identifiers: Definisi, Sintaks, dan Contoh
Memahami Enkapsulasi dalam OOPS dengan Contoh Argumen Baris Perintah di C Dijelaskan 10 Fitur & Karakteristik Terbaik Cloud Computing di tahun 2022
Polimorfisme di Jawa: Konsep, Jenis, Karakteristik & Contoh Paket di Java & Bagaimana Cara Menggunakannya? Tutorial Git Untuk Pemula: Belajar Git dari Awal

Keluaran:

Tinggi kotak: 40

Contoh 2: Ketika fungsi teman C++ bersahabat dengan dua kelas

#sertakan <iostream>

menggunakan namespace std;

// deklarasi maju

kelas KelasQ;

kelas KelasP {

publik:

// konstruktor untuk menginisialisasi numP ke 12

KelasP() : numP(12) {}

pribadi:

int angkaP;

// deklarasi fungsi teman

teman int add(ClassP, ClassQ);

};

kelas KelasQ {

publik:

// konstruktor untuk menginisialisasi numQ ke 1

ClassQ() : numQ(1) {}

pribadi:

int angkaQ;

// deklarasi fungsi teman

teman int add(ClassP, ClassQ);

};

// mengakses anggota kedua kelas

int add(ClassP objectP, ClassQ objectQ) {

kembali (objectP.numP + objectQ.numQ);

}

int utama() {

objek KelasPP;

KelasQ objekQ;

cout << “Jumlah: ” << tambahkan(objekP, objekQ);

kembali 0;

}

Keluaran:

Jumlah: 13

Dalam contoh di atas, Kelas P dan Kelas Q telah mendeklarasikan add() sebagai fungsi teman, memberikannya akses ke data pribadi kedua kelas. Selain itu, fungsi teman di dalam Kelas P menggunakan Kelas Q.

Jadi, kami membuat deklarasi maju Kelas Q dalam program.

Menerapkan Fungsi Teman

Untuk mendapatkan gambaran yang lebih baik tentang fungsi teman di C++, sekarang kita akan melihat dua cara untuk mengimplementasikan fungsi teman.

  1. Menerapkan fungsi teman di C++ melalui metode kelas lain

Kami mendeklarasikan kelas teman di C++ ketika kami membutuhkan akses ke anggota pribadi dan terlindungi dari kelas lain di mana kelas itu telah dinyatakan sebagai teman. Dimungkinkan juga untuk mendeklarasikan fungsi anggota tunggal dari kelas lain sebagai teman.

kelas class_name

{

kelas teman friend_class;// mendeklarasikan kelas teman

};

teman kelas_kelas

{

};

Dalam deklarasi kelas teman di atas, semua fungsi dalam kelas_teman adalah fungsi teman dari class_name .

Berikut adalah contoh sederhana untuk menggambarkan implementasi fungsi teman melalui metode kelas lain:

#sertakan <iostream>

menggunakan namespace std;

kelas A

{

int p=4;

teman kelas B; //kelas teman

};

kelas B

{

publik:

tampilan batal (A &a)

{

cout<<”Nilai p adalah :”<<ap;

}

};

int utama()

{

A A;

Bb;

  1. tampilan (a);

kembali 0;

}

Keluaran:

Nilai p adalah:4

  1. Menerapkan fungsi global

Menerapkan fungsi teman global memungkinkan kita mengakses semua anggota yang dilindungi dan pribadi dari deklarasi kelas global. Berikut ini contohnya:

#sertakan<iostream>

menggunakan namespace std;

ruang kelas

{

dalam sebuah;

int b;

int c;

publik:

void setdata (int x, int y, int z);

tampilan batal (batal);

teman void operator- (spasi &s);

};

ruang kosong ::setdata (int x, int y, int z)

{

a=x; b=y; c=z;

}

ruang kosong::tampilan (kosong)

{

cout<<a<<” “<<b<<” “<<c<<“\n”;

}

void operator- (spasi & s)

{

sa =- sa;

sb =- sb;

sc =- sc;

}

int utama()

{

ruang s;

  1. setdata (9,2,3);

cout<<“s:”;

  1. menampilkan ();

-s;

cout<<“-s:”;

  1. menampilkan ();

kembali 0;

}

Keluaran:

s: 9 2 3

-s: -9 -2 -3

Pada contoh program di atas, operator- adalah fungsi teman yang kita deklarasikan secara global pada lingkup kelas.

Apa itu kelas teman di C++?

Meskipun sudah cukup jelas sekarang, kelas teman adalah kelas yang memiliki akses ke anggota kelas privat dan yang dilindungi di mana kelas tersebut dinyatakan sebagai teman.

Secara sederhana, kelas teman di C++ digunakan ketika kita ingin kelas memiliki akses ke anggota pribadi dan dilindungi kelas lain.

Fungsi anggota dari kelas yang kita nyatakan sebagai teman ke kelas lain adalah fungsi teman untuk kelas teman. Dengan demikian, fungsi teman menghubungkan kedua kelas.

Sintaks Kelas Teman

Berikut sintaks kelas teman di C++:

kelas R; //deklarasi maju

kelas P{

// Deklarasi Lainnya

teman kelas R;

};

kelas R{

// Deklarasi

};

Pada ilustrasi di atas, Kelas R adalah teman Kelas P. Akibatnya, Kelas R dapat mengakses data pribadi anggota Kelas P. Namun, hal yang sebaliknya tidak benar, dan Kelas P tidak dapat mengakses data pribadi anggota Kelas R .

Juga, deklarasi maju diberikan untuk memberi tahu kompiler tentang keberadaan suatu entitas sebelum didefinisikan secara kategoris. Di sini, kami mendeklarasikan Kelas R menggunakan deklarasi maju untuk memberi tahu kompiler tentang keberadaannya. Deklarasi maju memungkinkan kita untuk menggunakan objek Kelas R di Kelas P.

Apa gunanya fungsi teman di C++?

Merangkum diskusi kita, mari kita lihat dua kegunaan utama dari fungsi teman di C++:

  • Pertama, kita menggunakan fungsi teman ketika kita ingin mengakses anggota kelas yang privat dan dilindungi. Untuk melakukan ini, kita biasanya memerlukan objek dari kelas itu untuk mengakses anggota pribadi dan yang dilindungi. Namun, fungsi teman menghilangkan situasi di mana fungsi tersebut perlu menjadi anggota kelas untuk mendapatkan akses.
  • Penggunaan lain dari fungsi teman di C++ adalah dalam kelebihan operator. Fungsi yang memiliki nama yang sama tetapi nomor dan argumen yang berbeda dikenal sebagai fungsi overloading. Fungsi teman di C++ digunakan dalam kelebihan operator.

Dalam hal ini, fungsi overloading operator mendahului kata kunci friend dan mendeklarasikan cakupan kelas fungsi. Ketika kelebihan beban oleh fungsi teman, operator biner mengambil dua argumen eksplisit sementara operator unary mengambil satu argumen. Ini bekerja dengan cara yang sama seperti fungsi operator biner, kecuali bahwa implementasi fungsi operator teman terjadi di luar ruang lingkup kelas.

Itu membawa kita ke akhir diskusi kita tentang fungsi teman di C++ dan penggunaannya. Semoga ini bisa membantu Anda meningkatkan pengetahuan Anda tentang C++.

Juga, jika Anda ingin memulai karir Anda sebagai pengembang full-stack, upGrad menawarkan Program Pascasarjana Eksekutif sepenuhnya online dalam Pengembangan Perangkat Lunak – Spesialisasi dalam Pengembangan Tumpukan Penuh selama 13 bulan bekerja sama dengan IIIT Bangalore.

Sorotan Program:

  • Paparan langsung ke studi kasus dan tugas yang relevan dengan industri
  • 450+ jam pembelajaran 360 derajat
  • 10+ alat dan bahasa pemrograman teratas
  • 1:1 Sesi bimbingan karir dengan mentor industri
  • Dukungan siswa 24/7

Daftar hari ini untuk mendapatkan manfaat eksklusif upGrad hari ini!

Apa fungsi teman di C++?

Fungsi teman di C++ adalah fungsi yang bukan anggota kelas tetapi memiliki akses ke anggota pribadi dan dilindunginya.

Bagaimana Anda mendeklarasikan fungsi teman?

Fungsi teman memiliki akses ke data pribadi dan dilindungi kelas. Untuk mendeklarasikan fungsi teman, kita menggunakan kata kunci teman di dalam badan kelas.

Bagaimana Anda membuat teman kelas di C++?

Kami menggunakan kata kunci teman untuk mendeklarasikan kelas sebagai kelas teman di C++. Kata kunci memungkinkan setiap kelas mengakses anggota pribadi dan dilindungi dari kelas dan fungsi lain.