Herança C++


Herança

Em C++, é possível herdar atributos e métodos de uma classe para outra. Agrupamos o "conceito de herança" em duas categorias:

  • classe derivada (filho) - a classe que herda de outra classe
  • classe base (pai) - a classe que está sendo herdada

Para herdar de uma classe, use o :símbolo.

No exemplo abaixo, a Carclasse (filho) herda os atributos e métodos da Vehicleclasse (pai):

Exemplo

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

Por que e quando usar "herança"?

- É útil para reutilização de código: reutilize atributos e métodos de uma classe existente ao criar uma nova classe.