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 Car
klasse (child) de attributen en methoden over van de Vehicle
klasse (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.