#include <iostream>
using namespace std;
class Shape
{
public:
virtual void display()const=0;
};
class Circle:public Shape
{
public:
Circle(double x) : a(x){}
void display() const;
private:
double a;
};
void Circle::display() const
{
cout<<3.14159*a*a<<endl;
}
class Squre:public Shape
{
public:
Squre (double x) : b(x){}
void display() const;
private:
double b;
};
void Squre::display() const
{
cout<<b*b<<endl;
}
class Rectangle:public Shape
{
public:
Rectangle (double x,double y) : c(x),d(y){}
void display() const;
private:
double c,d;
};
void Rectangle::display() const
{
cout<<c*d<<endl;
}
class Trapezoid:public Shape
{
public:
Trapezoid (double x,double y,double z) : e(x),f(y),h(z) {}
void display() const;
private:
double e,f,h;
};
void Trapezoid::display() const
{
cout<<(e+f)*h/2<<endl;
}
class Triangle:public Shape
{
public:
Triangle (double x,double y) : a(x),b(y) {}
void display() const;
private:
double a,b;
};
void Triangle::display() const
{
cout<<(a+b)/2<<endl;
}
int main()
{
Circle p(5.4);
p.display();
Squre x(5.4);
x.display();
Rectangle y(1,2);
y.display();
Trapezoid z(1,2,3);
z.display();
Triangle l(1,2);
l.display();
return 0;
}
using namespace std;
class Shape
{
public:
virtual void display()const=0;
};
class Circle:public Shape
{
public:
Circle(double x) : a(x){}
void display() const;
private:
double a;
};
void Circle::display() const
{
cout<<3.14159*a*a<<endl;
}
class Squre:public Shape
{
public:
Squre (double x) : b(x){}
void display() const;
private:
double b;
};
void Squre::display() const
{
cout<<b*b<<endl;
}
class Rectangle:public Shape
{
public:
Rectangle (double x,double y) : c(x),d(y){}
void display() const;
private:
double c,d;
};
void Rectangle::display() const
{
cout<<c*d<<endl;
}
class Trapezoid:public Shape
{
public:
Trapezoid (double x,double y,double z) : e(x),f(y),h(z) {}
void display() const;
private:
double e,f,h;
};
void Trapezoid::display() const
{
cout<<(e+f)*h/2<<endl;
}
class Triangle:public Shape
{
public:
Triangle (double x,double y) : a(x),b(y) {}
void display() const;
private:
double a,b;
};
void Triangle::display() const
{
cout<<(a+b)/2<<endl;
}
int main()
{
Circle p(5.4);
p.display();
Squre x(5.4);
x.display();
Rectangle y(1,2);
y.display();
Trapezoid z(1,2,3);
z.display();
Triangle l(1,2);
l.display();
return 0;
}