#include<iostream>
using namespace std;
float const pi=3.14159;
class Objetogeometrico
{
public:
virtual float calcularArea() const;
virtual float perimetro () const;
};
class Circulo:public Objetogeometrico
{
private:
float Radio;
public:
Circulo(float);
float SetRadio(){return Radio;}
float GetRadio(){return Radio;}
float calcularArea();
float perimetro();
};
Circulo::Circulo(float r )
{
Radio = r;
}
float Circulo::calcularArea()
{
cout<<"digite radio"<<"\n"<<endl;
cin>>Radio;
return 2*pi*Radio;
}
float Circulo::perimetro()
{
return 2*pi*Radio*Radio;
}
class Cuadrado:Objetogeometrico
{
private:
float Base;
public:
Cuadrado(float);
float SetBase(){return Base;}
float GetBase(){return Base;}
float calcularArea();
float perimetro();
};
Cuadrado::Cuadrado(float b)
{
Base=b;
}
float Cuadrado::calcularArea()
{
cout<<"digite base"<<"\n"<<endl;
cin>>Base;
return Base*Base;
}
float Cuadrado::perimetro()
{
return 4*Base;
}
class Rectangulo:Objetogeometrico
{
private:
float Base;
float Lado;
public:
Rectangulo(float,float);
float SetBase(){return Base;}
float GetBase(){return Base;}
float SetLado(){return Base;}
float GetLado(){return Base;}
float calcularArea();
float perimetro();
};
Rectangulo::Rectangulo(float b,float l)
{
Base=b;
Lado=l;
}
float Rectangulo::calcularArea()
{
cout<<"digite base"<<"\n"<<endl;
cin>>Base;
cout<<"Digite lado"<<"\n"<<endl;
cin>>Lado;
return Base*Lado;
}
float Rectangulo::perimetro()
{
return 2*Base+2*Lado;
}
int main()
{
Circulo c();
cout <<c.calcularArea()<<endl;
return 0;