Pada penjelasan sebelumnya telah dijelaskan mengenai function overloading dimana kita dimungkinkan melakukan penumpukan function. Pada bahasa pemrograman C++ juga dimungkinkan untuk melakukan overloading terhadap operator.
Fitur overloading pada bahasa pemrograman C++ memungkinkan kita untuk mendefinisikan ulang fungsi atau kegunaan dari sebuah 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[ ]
Operator Overloading Hanya bisa Mengubah Interger
UNARY : ++ , -- , += , -= , %=
Overloading Operator merupakan penggunaan sebuah operator pada sebuah operasi diluar kebiasaan.
Operator Overloading bisa Mengganti operasi yang ada di library standar
OPERATOR OVERLOADING DALAM C++