Programación en C++ – Herencia

La herencia es un concepto fundamental en la programación orientada a objetos (POO) que permite crear nuevas clases basadas en clases existentes. Una clase derivada hereda atributos y métodos de la clase base, lo que permite la reutilización de código y la creación de jerarquías de clases.

La herencia se declara utilizando la palabra clave class seguida del nombre de la clase derivada, seguido de : y el tipo de acceso (public, protected o private) para la herencia.

class ClaseBase {
    // atributos y métodos de la clase base
};

class ClaseDerivada : [tipo_de_acceso] ClaseBase {
    // atributos y métodos adicionales
};

Clase Base (Superclase): Es la clase existente de la cual se derivan otras clases. Contiene atributos y métodos que las clases derivadas pueden heredar.

Clase Derivada (Subclase): Es una nueva clase que se basa en una clase existente. Hereda atributos y métodos de la clase base y también puede agregar nuevos atributos y métodos o modificar los existentes.

#include <iostream>
#include <string>

using namespace std;

class Vehiculo {
protected:
    string marca;

public:
    Vehiculo(string m) : marca(m) {}

    void mostrarMarca() {
        cout << "Marca: " << marca << endl;
    }
};

class Coche : public Vehiculo {
private:
    int numPuertas;

public:
    Coche(string m, int puertas) : Vehiculo(m), numPuertas(puertas) {}

    void mostrarInfo() {
        mostrarMarca();
        cout << "Número de puertas: " << numPuertas << endl;
    }
};

int main() {
    Coche miCoche("Mitsubishi", 4);
    miCoche.mostrarInfo();

    return 0;
}

En este ejemplo, Vehiculo es la clase base y Coche es la clase derivada. La clase Coche hereda el atributo marca de la clase base y agrega el atributo numPuertas. La función miembro mostrarInfo() de la clase Coche llama a la función miembro mostrarMarca() de la clase base.

Pueder ir al artículo principal:

Códigos Sencillos hechos en C++

Deja un comentario