Ereditarietà C++


Eredità

In C++ è possibile ereditare attributi e metodi da una classe all'altra. Raggruppiamo il "concetto di eredità" in due categorie:

  • classe derivata (figlio) - la classe che eredita da un'altra classe
  • classe base (genitore) - la classe da cui viene ereditata

Per ereditare da una classe, utilizzare il :simbolo.

Nell'esempio seguente, la Carclasse (figlio) eredita gli attributi e i metodi dalla Vehicleclasse (genitore):

Esempio

// 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;
}

Perché e quando usare "Ereditarietà"?

- È utile per il riutilizzo del codice: riutilizza attributi e metodi di una classe esistente quando crei una nuova classe.