FUNGSI FRIEND
Tujuan
- Memahami kegunaan fungsi friend
- Mampu membuat program aplikasi dengan menggunakan fungsi friend
Teori Singkat
Fungsi friend adalah fungsi anggota kelas yang dapat mengakses anggota kelas. Fungsi friend yang dapat mengakses anggota kelas yang bersifat provate atau protected. Memberi nilai awal dari sebuah obyek. Cara penulian friend pada class adalah sebagai berikut :
class A
{ private:
------------
------------
protected:
------------
------------
public:
A();
~A();
Void nama_fungsi();
------------
};
//program utama
void main()
{ A variabel_obyek; }
Definisi konstruktor
A::A(){……….}
Definisi destruktor
A:: ~ A(){……….}
Void nama_fungsi()
{definisi fungsi}
Contoh 1
//friend mengakses kelas
#include
#include
#include
class mahasiswa
{ private :
Long no_mhs;
Char nama[30];
Char jurusan[20];
Public:
Mahasiswa();
Void inisial(long no_mhs,char *nama, char *jurusan);
Friend void tampilkan(mahasiswa x); //fungsi friend
};
//program utama
void main()
{
Mahasiswa x;
Inisial(04025521,”Tri Kusuma”,”Manajemen Informatika”);
Tampilkan();
}
//konstruktor
Mahasiswa::mahasiswa()
{
No_mhs=0;
Strcpy(nama,””);
Strcpy(jurusan,””);
}
//fungsi anggota
Mahasiswa::inisial(long no_mhs,char *nama,char *jurusan)
{
Mahasiswa::no_mhs=no_mhs;
Strcpy(mahasiswa::nama,nama);
Strcpy(mahasiswa::jurusan,jurusan);
}
//definisi friend
Void tampilkan(mahasiswa x)
{
Cout<< “ N I M :”<
Cout<<” Nama :”<
Cout<<” Jurusan :”<
};
Contoh 2
//fungsi friend untuk mengakses kelas
#include
#include
#include
//definisi kelas
class PemainPria;
class PemainWanita
{
private:
//data anggota
Char nama[25];
Char Negara[20];
Public:
//konstruktor
Pemainwanita(char *nama, char *negara);
Friend void info_pem_campuran(PemainWanita a,PemainPria b);
};
Class PemainPria
{
Private:
//data anggota
Char nama[25];
Char Negara[20];
Public:
//konstruktor
PemainPria(char *nama, char *negara);
Friend void info_pem_campuran(PemainWanita a, PemainPria b);
};
//Program utama
Void main()
{
Clrscr();
pemainWanita x(“Monica”,”
PemainPria y(“Suharyadi”,”
Info_pem_campuran();
}
//definisi konstruktor
PemainWanita::PemainWanita(char *nama, char *negara)
{
Strcpy(PemainWanita::nama.nama);
Strcpy(PemainWanita::Negara,negara);
}
PemainPria::PemainPria(char *nama, char *negara)
{
Strcpy(PemainPria::nama.nama);
Strcpy(PemainPria::Negara.negara);
}
//definisi fungsi friend
Void info_pem_camouran(PemainWanita a, PemainPria b)
{
Cout << “Pasangan Pemain CAmpuran”<
Cout << “ ”<
Cout << “ ”<
}
Contoh 3
//fungsi friend untuk mengakses dua kelas
#include
#include
#include
//definisi kelas
class PemainPria;
class PemainWanita
{
Private :
//data anggota
Char nama[25];
Char Negara[20];
Public :
//konstruktor
PemainWanita(char *nama, char *negara);
Coid info_pem_cadangan(const PemainPria &a);
};
Class PemainPria
{
Private :
//data anggota
Char nama[25];
Char Negara[20];
Friend void PemainWanita::Info_Pem_Cadangan(const PemainPria &b);
Public:
//konstruktor
PemainPria(char *nama, char *negara);
};
]
//program utama
Void main()
{
Clrscr()
PemainWanita p(“Monica”,”
PemainPria q(“Suharyadi”,”
Info_Pem_Cadangan(q);
}
//definisi konstruktor
PemainWanita::PemainWanita(char *nama, char *negara);
{
Strcpy(PemainWanita::nama.nama);
Strcpy(PemainWanita::Negara.negara);
}
PemainPria::PemainPria(char *nama, char *negara)
{
Strcpy(PemainPria::nama.nama);
Strcpy(PemainPria::Negara.negara);
}
//definisi fungsi friend
Void PemainWanita::Info_Pem_Campuran(const PemainPria &a)
{
Cout<<”Pasangan Pemain Campuran”<
Cout<<” “<
Cout<<” “<
}
Tugas Laporan
- Buatlah program mirip dengan contoh 1 dengan menggunakan deklarasi kelas.
Class Buku
{
Private :
Char pengarang[20];
Char judul[35];
Int jumlah;
Public:
Buku();
Void inisial(char *pengarang, char *judul, int jumlah);
Friend void tampilkan(buku novel);//fungsi friend
};

Tidak ada komentar:
Posting Komentar