¿Te da algún error? ¿cuál?.
De todos modos prueba a cerrar la llave del int main, he incluye una librería para que no se te cierre la consola si trabajas con ello.
De todos modos prueba el siguiente código, es el mismo tuyo solo cambiando unas cosas que he visto. Saludos.
Código C++:
Ver original#include <iostream>
#include <conio.h>
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;
}