Study
C++

Operator Overloading di C++

Penjelasan

Operator overloading memungkinkan kamu mendefinisikan ulang perilaku operator standar (+, -, ==, <<, dst) supaya bisa dipakai langsung pada object dari class buatan sendiri — bukan cuma pada tipe primitif. Ini dilakukan dengan mendefinisikan method khusus bernama operatorX di dalam class, di mana X adalah simbol operatornya.

Contoh Konsep

#include <iostream>

class Titik {
public:
    int x, y;

    Titik(int x, int y) : x(x), y(y) {}

    Titik operator+(const Titik &lain) { // overload operator +
        return Titik(x + lain.x, y + lain.y);
    }
};

int main() {
    Titik a(1, 2);
    Titik b(3, 4);
    Titik hasil = a + b; // memanggil operator+ yang sudah di-overload

    std::cout << hasil.x << ", " << hasil.y << std::endl; // 4, 6
    return 0;
}

Praktikum

Buat class Uang dengan field int nominal (diisi lewat constructor). Overload operator+ supaya dua object Uang bisa dijumlahkan nominalnya, mengembalikan object Uang baru. Buat dua object Uang, jumlahkan dengan +, lalu tampilkan hasil nominalnya.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Pakai operator overloading secukupnya dan hanya kalau perilakunya memang INTUITIF (mis. + untuk menjumlahkan dua Uang) — meng-overload operator dengan makna yang membingungkan (mis. - untuk menggabungkan string) justru membuat kode lebih sulit dibaca, bukan lebih mudah.