Study
C++

Inheritance di C++

Penjelasan

Inheritance (pewarisan) memungkinkan sebuah class (derived class) mewarisi field dan method dari class lain (base class) memakai sintaks : public NamaBaseClass — supaya kode yang sama tidak perlu ditulis ulang di tiap class turunan. Constructor base class dipanggil lewat initializer list di constructor derived class.

Contoh Konsep

#include <iostream>
#include <string>

class Hewan {
public:
    std::string nama;

    Hewan(std::string nama) : nama(nama) {}

    std::string bersuara() {
        return nama + " mengeluarkan suara.";
    }
};

class Kucing : public Hewan {
public:
    Kucing(std::string nama) : Hewan(nama) {} // panggil constructor Hewan

    std::string bersuara() {
        return nama + " berkata Meong!";
    }
};

int main() {
    Kucing kucingku("Milo");
    std::cout << kucingku.bersuara() << std::endl; // Milo berkata Meong!
    return 0;
}

Praktikum

Buat class Kendaraan dengan field std::string merek (diisi lewat constructor) dan method infoMerek() yang mengembalikan "Merek: {merek}". Buat class Motor yang public Kendaraan, constructor-nya memanggil constructor Kendaraan. Buat object Motor di main() dan tampilkan hasil infoMerek().

Editor Latihan

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

Tips

Berbeda dari Java yang hanya mendukung single inheritance, C++ mendukung multiple inheritance (satu class bisa extends lebih dari satu base class sekaligus) — tapi fitur ini sebaiknya dipakai hati-hati karena bisa bikin struktur kode membingungkan.