Overloading
adalah pembuatan fungsi-fungsi dengan nama sama tetapi jumlah
parameter dari
fungsi-fungsi tersebut berbeda.
Operator Overloading |
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.
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