Vererbung

Vererbung (Inheritance) erlaubt es, Klassen Hierarchien zu bilden und Code wiederzuverwenden. Diese Lektion behandelt Basis- und abgeleitete Klassen, Zugriffsmodifikatoren und Konstruktoren bei Vererbung.

1. Basis- und abgeleitete Klassen

Eine abgeleitete Klasse erbt Attribute und Methoden einer Basisklasse.
class Fahrzeug {
public:
    int geschwindigkeit;
    void fahren() { std::cout << "Fahrzeug fährt mit " << geschwindigkeit << " km/h" << std::endl; }
};

class Auto : public Fahrzeug {
public:
    int sitze;
};

2. Zugriff auf geerbte Mitglieder

Geerbte Attribute/Methoden sind sichtbar, abhängig von Zugriffsmodifikatoren: public, protected, private.
Auto a;
a.geschwindigkeit = 100; // öffentlich geerbtes Mitglied
a.sitze = 4;
a.fahren();

3. Konstruktoren und Vererbung

Konstruktoren der Basisklasse werden vor Konstruktoren der abgeleiteten Klasse aufgerufen.
class Fahrzeug {
public:
    Fahrzeug(int g) : geschwindigkeit(g) {}
    int geschwindigkeit;
};

class Auto : public Fahrzeug {
public:
    Auto(int g, int s) : Fahrzeug(g), sitze(s) {}
    int sitze;
};

4. Best Practices

5. Zusammenfassung