0% encontró este documento útil (0 votos)
342 vistas3 páginas

Herencia C++

El documento describe una jerarquía de clases donde Piramide hereda de Triangulo. Se define la clase Triangulo con métodos para calcular el área, perímetro e imprimir datos. Luego, Piramide hereda públicamente de Triangulo y agrega métodos para calcular el área total, volumen e imprimir datos de manera polimórfica invocando al método del padre. El programa principal crea un objeto Piramide e imprime sus datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
342 vistas3 páginas

Herencia C++

El documento describe una jerarquía de clases donde Piramide hereda de Triangulo. Se define la clase Triangulo con métodos para calcular el área, perímetro e imprimir datos. Luego, Piramide hereda públicamente de Triangulo y agrega métodos para calcular el área total, volumen e imprimir datos de manera polimórfica invocando al método del padre. El programa principal crea un objeto Piramide e imprime sus datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

MAIN.

CPP
#include <iostream>
#include "triangulo.h"
#include "piramide.h"

using namespace std;

int main()
{
cout << "HERENCIA TRIANGULO-PIRAMIDE" << endl;
Piramide p;
p.Print();

return 0;
}
***********************************************************************************
*************************************
TRIANGULO.H
#ifndef TRIANGULO_H
#define TRIANGULO_H

//Declaracion de la clase Padre

class Triangulo
{
public:
Triangulo();

~Triangulo();
double Area();
double Perimetro();
void Print();

protected:
float arista;
float apotema;
float altura;

};

#endif // TRIANGULO_H
***********************************************************************************
************************************
PIRAMIDE.H
#ifndef PIRAMIDE_H
#define PIRAMIDE_H

//Declaracion de la clase Hija

class Piramide : public Triangulo


{
public:
Piramide();

~Piramide();
double AreaTotal();
double Volumen();
void Print(); // Polimorfismo
};

#endif // PIRAMIDE_H
***********************************************************************************
*************************************
TRIANGULO.CPP
#include "triangulo.h"
#include "piramide.h"
#include <cmath>
#include <iostream>
using namespace std;

Triangulo::Triangulo()
{
cout<<"Escriba la arista: "<<endl;
cin>>arista;
cout<<"Escriba el apotema: "<<endl;
cin>>apotema;
cout<<"Escriba la altura: "<<endl;
cin>>altura;
}

Triangulo::~Triangulo()
{

}
double Triangulo::Area()
{
return (arista*arista*sqrt(3))/4.0;
}
double Triangulo::Perimetro()
{
return 3*(arista);
}
void Triangulo::Print()
{
cout<<"\nArista del triangulo regular: "<< arista <<endl;
cout<<"Area del triangulo: "<<Area()<<endl;
cout<<"Perimetro del triangulo: "<<Perimetro()<<endl;
}
***********************************************************************************
*************************************
PIRAMIDE.CPP
#include "triangulo.h"
#include "piramide.h"
#include <iostream>
using namespace std;

Piramide::Piramide():Triangulo()
{

Piramide::~Piramide()
{

}
double Piramide::AreaTotal()
{
return (Area()+((3.0*apotema*arista)/2.0));
}
double Piramide::Volumen()
{
return (Area()*altura);
}
void Piramide::Print()
{
Triangulo::Print(); // Herencia invoca al padre
cout<<"Area Total = "<<AreaTotal()<<endl;
cout<<"Volumen = "<<Volumen()<<endl;
}

También podría gustarte