C++ Overerving


Erfenis

In C++ is het mogelijk om attributen en methoden van de ene klasse naar de andere te erven. We groeperen het "erfenisconcept" in twee categorieën:

  • afgeleide klasse (kind) - de klasse die erft van een andere klasse
  • basisklasse (ouder) - de klasse waarvan wordt geërfd

Gebruik het :symbool om van een klasse te erven.

In het onderstaande voorbeeld neemt de Carklasse (child) de attributen en methoden over van de Vehicleklasse (ouder):

Voorbeeld

// Base class
class Vehicle {
  public:
    string brand = "Ford";
    void honk() {
      cout << "Tuut, tuut! \n" ;
    }
};

// Derived class
class Car: public Vehicle {
  public:
    string model = "Mustang";
};

int main() {
  Car myCar;
  myCar.honk();
  cout << myCar.brand + " " + myCar.model;
  return 0;
}

Waarom en wanneer "Overerving" gebruiken?

- Het is handig voor herbruikbaarheid van code: hergebruik attributen en methoden van een bestaande klasse wanneer u een nieuwe klasse aanmaakt.