Herencia
En este ejemplo se van a crear dos clases:
- una clase base llamada Ingenieria
- y una clase hija llamada Ingenieria_Computacion
La clase base (Ingenieria) heredará a la clase hija (Ingenieria_Computacion) sus atributos y métodos.
#include <iostream>
#include<string>
using namespace std;
class Ingenieria{
private:
int anyosEstudio;
public:
Ingenieria();
virtual ~Ingenieria();
void setAnyosEstudio(int anyosEstudio);
int getAnyosEstudio();
};
class Ingenieria_Computacion: public Ingenieria{
private:
string especialidad;
public:
Ingenieria_Computacion();
virtual ~Ingenieria_Computacion();
void setEspecialidad(string especialidad);
string getEspecialidad();
};
Ingenieria::Ingenieria(){
cout<<"Objeto Ingenieria creado"<<endl;
}
Ingenieria::~Ingenieria(){
cout<<"Objeto Ingenieria destruido"<<endl;
}
void Ingenieria::setAnyosEstudio(int anyosEstudio){this->anyosEstudio=anyosEstudio;}
int Ingenieria::getAnyosEstudio(){return this->anyosEstudio;}
Ingenieria_Computacion::Ingenieria_Computacion(){
cout<<"Objeto Ingenieria_Computacion creado"<<endl;
}
Ingenieria_Computacion::~Ingenieria_Computacion(){
cout<<"Objeto Ingenieria_Computacion destruido"<<endl;
}
void Ingenieria_Computacion::setEspecialidad(string especialidad){this->especialidad=especialidad;}
string Ingenieria_Computacion::getEspecialidad(){return this->especialidad;}
int main(){
Ingenieria_Computacion ingeniero=Ingenieria_Computacion();
ingeniero.setAnyosEstudio(5);
ingeniero.setEspecialidad("redes de computadoras");
cout<<"anyos de estudio: "<<ingeniero.getAnyosEstudio()<<endl;
cout<<"especialidad: "<<ingeniero.getEspecialidad()<<endl;
return 0;
}
Resultado: