Senin, 30 November 2009

Friend Function & Operator Overloading dalam Class

Friend Function

Friend function adalah fungsi yang di definisikan di luar dari class’s scope namun memiliki hak akses ke semua anggota dari class tersebut.

Untuk mendeklarasikan sebuah friend function, kita menggunakan keyword 'friend'. Deklarasikan prototype dari friend function di class yang public.
Contoh: friend void setX( Count &, int );

Setelah class selesai, baru kita dapat membuat friend function di bawah class tersebut dan dapat dipanggil di void main untuk mengakses data anggota dalam class.


Contoh dalam kodingan program sederhana:


Operator Overloading

Pemakaian Operator overloading dalam class ditujukan untuk mengoperasikan data pada object menjadi mudah.

Untuk bisa menggunakan operator overloading, kita menggunakan keyword 'operator'
contoh : friend void operator -(data &a, data &b);

Contoh dalam kodingan program sederhana :


Tetapi tidak semua operator dapat dibuat menjadi operator overloading, antara lain :

Operator

Kegunaan

Contoh

. (dot)

Access ke member class

cin.getline

.* (dot asterix)

Pointer ke member class

Object.*member

:: (scope)

Akses ke data / member function

Class::member

?: (ternary)

seleksi kondisi

C=(a>b)?a:b

sizeof

Memperoleh ukuran tipe data

Sizeof (int)