#include <iostream>
using namespace std;
class Shape
{
public:
virtual double area(){}
};
class circle:public Shape
{
public:
circle(double x)
{
r=x;
}
double area()
{
return 3.1415*r*r;
}
private:
double r;
};
class rectangle:public Shape
{
public:
rectangle(double x,double y)
{
a=x;b=y;
}
double area()
{
return a*b;
}
private:
double a,b;
};
class triangle:public Shape
{
public:
triangle(double x,double y)
{
h=x,s=y;
}
double area()
{
return 0.5*s*h;
}
private:
double s,h;
};
int main()
{
circle c1(12.6),c2(4.9);
rectangle r1(4.5,8.4),r2(5.0,2.5);
triangle t1(4.5,8.4),t2(3.4,2.8);
Shape *pt[6]= {&c1,&c2,&r1,&r2,&t1,&t2};
double areas=0.0;
for(int i=0; i<6; i++)
{
areas=areas + pt[i]->area();
}
cout<<"totol of all areas="<<areas<<endl;
return 0;
}
using namespace std;
class Shape
{
public:
virtual double area(){}
};
class circle:public Shape
{
public:
circle(double x)
{
r=x;
}
double area()
{
return 3.1415*r*r;
}
private:
double r;
};
class rectangle:public Shape
{
public:
rectangle(double x,double y)
{
a=x;b=y;
}
double area()
{
return a*b;
}
private:
double a,b;
};
class triangle:public Shape
{
public:
triangle(double x,double y)
{
h=x,s=y;
}
double area()
{
return 0.5*s*h;
}
private:
double s,h;
};
int main()
{
circle c1(12.6),c2(4.9);
rectangle r1(4.5,8.4),r2(5.0,2.5);
triangle t1(4.5,8.4),t2(3.4,2.8);
Shape *pt[6]= {&c1,&c2,&r1,&r2,&t1,&t2};
double areas=0.0;
for(int i=0; i<6; i++)
{
areas=areas + pt[i]->area();
}
cout<<"totol of all areas="<<areas<<endl;
return 0;
}