//archivo poligono.h
namespace geometria{
class POLIGONO{
int numlados;
public:
virtual float area(){
}
POLIGONO(int numlados=3){
this->numlados=numlados;
}
virtual void imprimir(){
std::cout<<"un poligono de "<<numlados
<<" lados."<<std::endl;
}
};
class RECTANGULO:public POLIGONO{
float ancho, alto;
public:
float area(){
return ancho*alto;
}
virtual void imprimir(){
std::cout<<"un rectangulo, ";
POLIGONO::imprimir();
}
RECTANGULO(float ancho=1,float alto=1){
POLIGONO(4);
this->ancho=ancho;
this->alto=alto;
}
};
class TRIANGULO:public POLIGONO{
float base, altura;
public:
float area(){
return base*altura;
}
virtual void imprimir(){
std::cout<<"un triangulo, ";
POLIGONO::imprimir();
}
TRIANGULO(float base=1,float altura=1){
POLIGONO(3);
this->base=base;
this->altura=altura;
}
};
TRIANGULO notable(4,3);
}
No hay comentarios:
Publicar un comentario