C++ Erfenis


Erfenis

In C++ is dit moontlik om eienskappe en metodes van een klas na 'n ander te erf. Ons groepeer die "erfeniskonsep" in twee kategorieë:

  • afgeleide klas (kind) - die klas wat van 'n ander klas erf
  • basisklas (ouer) - die klas waarvandaan geërf word

Om van 'n klas te erf, gebruik die :simbool.

In die voorbeeld hieronder Carerf die klas (kind) die eienskappe en metodes van die Vehicleklas (ouer):

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 om "Erfenis" te gebruik?

- Dit is nuttig vir kode herbruikbaarheid: hergebruik eienskappe en metodes van 'n bestaande klas wanneer jy 'n nuwe klas skep.