Saturday, 6 December 2014

Operator Overloading



Overloading adalah pembuatan fungsi-fungsi dengan nama sama tetapi jumlah
Operator Overloading
parameter dari fungsi-fungsi tersebut berbeda.
Konsep dasar yang harus dimiliki untuk melakukan overload terhadap operator adalah dengan mendefinisikan suatu fungsi yaitu yang dikenal dengan fungsi operator .
Fungsi operator  berperan sebagai anggota (member function ) dari kelas.
Overloading Operator merupakan penggunaan sebuah operator pada sebuah operasi diluar kebiasaan.
Misal operator + biasa dipakai untuk penjumlahan seperti: 2 + 3 = 5
Tetapi operator + tidak bisa dipakai untuk operasi berikut: 2 ayam + 3 ayam
Supaya operasi semacam : 2 ayam + 3 ayam bisa dilakukan, maka diperlukan overloading terhadap operator.
Tujuan overloading terhadap operator adalah untuk memudahkan operasi terhadap data terutama yang berupa obyek
Penjumlahan Obyek
Operasi:
obyek3 = obyek1 + obyek2
Sintaks:
NamaKelas operator SimbolOperator (NamaKelas Obyek)
Contoh:
Binatang operator + (Binatang bntg);
Pemanggilan:
bin3 = bin1 + bin2;
Bentuk umum fungsi operator
Tipe_kembalian nama_kelas:: operator# (daftar_parameter)
{
Operasi yang akan dilakukan
}
Pada bentuk umum diatas nama_kelas adalah nama dari kelas pemilik fungsi tersebut. Sedangkan tanda # diatas berfungsi sebagai placeholder artinya disini kita mendefenisikan operator apa yang kita overload.
Apabila kita melakukan overload terhadap operator +, maka penulisan fungsinya akan menjadi operator+, begitu pula untuk operator lainnya.
Overator yang dapat dioverload
a.         Operator unary
                 +, - ,*, &, ~, !, ++, --, ->, ->*
b.        Operator binary
                 +  -  *  /  %  ^  &  |  <<  >>
                 +=  -=  *=  /=  %=  ^=  &=  |=  <<=  >>==
                 <  <= >  >== ==  !=  && ||
                 ,   [ ]  (  )
                 new  new[  ]  delete  delete[ ]

No comments:

Post a Comment

Total Pageviews