sábado, 25 de enero de 2014

Programando en C++ ... no. 3

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:


No hay comentarios:

Publicar un comentario