#include<iostream>
#include<cmath>
using namespace std;
class Shape
{public:
virtual void printArea()const{}
virtual void shapeName()const=0;
};
class Circle:public Shape
{public:
Circle(float);
virtual void shapeName()const{cout<<"Area of Circle is: ";}
virtual void printArea()const;
private:
float radius;
};
Circle::Circle(float r)
{
radius=r;
}
void Circle::printArea()const
{
cout<<3.14*radius*radius<<endl;
}
class Rectangle:public Shape
{public:
Rectangle(float ,float);
virtual void shapeName()const{cout<<"Area of Rectangle is: ";}
virtual void printArea()const;
private:
float length;
float width;
};
Rectangle::Rectangle(float l,float w)
{
length=l;
width=w;
}
void Rectangle::printArea()const
{
cout<<length*width<<endl;
}
class Triangle:public Shape
{public:
Triangle(float ,float,float);
virtual void shapeName()const{cout<<"Area of Rectangle is: ";}
virtual void printArea()const;
private:
float a;
float b;
float c;
};
Triangle::Triangle(float m,float n,float k)
{
a=m;
b=n;
c=k;
}
void Triangle::printArea()const
{
float p;
p=(a+b+c)/2;
cout<<sqrt(p*(p-a)*(p-b)*(p-c))<<endl;
}
int main()
{
Circle c(10);
Rectangle r(5,2);
Triangle t(3,2,4);
Shape *pt;
pt=&c;
pt->shapeName();
pt->printArea();
pt=&r;
pt->shapeName();
pt->printArea();
pt=&t;
pt->shapeName();
pt->printArea();
return 0;
}
#include<cmath>
using namespace std;
class Shape
{public:
virtual void printArea()const{}
virtual void shapeName()const=0;
};
class Circle:public Shape
{public:
Circle(float);
virtual void shapeName()const{cout<<"Area of Circle is: ";}
virtual void printArea()const;
private:
float radius;
};
Circle::Circle(float r)
{
radius=r;
}
void Circle::printArea()const
{
cout<<3.14*radius*radius<<endl;
}
class Rectangle:public Shape
{public:
Rectangle(float ,float);
virtual void shapeName()const{cout<<"Area of Rectangle is: ";}
virtual void printArea()const;
private:
float length;
float width;
};
Rectangle::Rectangle(float l,float w)
{
length=l;
width=w;
}
void Rectangle::printArea()const
{
cout<<length*width<<endl;
}
class Triangle:public Shape
{public:
Triangle(float ,float,float);
virtual void shapeName()const{cout<<"Area of Rectangle is: ";}
virtual void printArea()const;
private:
float a;
float b;
float c;
};
Triangle::Triangle(float m,float n,float k)
{
a=m;
b=n;
c=k;
}
void Triangle::printArea()const
{
float p;
p=(a+b+c)/2;
cout<<sqrt(p*(p-a)*(p-b)*(p-c))<<endl;
}
int main()
{
Circle c(10);
Rectangle r(5,2);
Triangle t(3,2,4);
Shape *pt;
pt=&c;
pt->shapeName();
pt->printArea();
pt=&r;
pt->shapeName();
pt->printArea();
pt=&t;
pt->shapeName();
pt->printArea();
return 0;
}