C++ Programming

Create a Class Shape with Functions to Find Area of the Shapes

Write a program to create a class – shape with functions to find area of the shapes and display the name of the shape and other essential components of the class. Create derived classes – circle, rectangle and trapezoid each having overridden function. Write a suitable program to illustrate the use of virtual function.

Algorithm:

  • Start the program
  • Enter the choice
  • If choice = 1 then PUSH, else if choice = 2 then POP else if choice = 3 then TRAVERSE else if choice = 4 then EXIT
  • Perform stack operation
  • Exit the program

Source Code:

#include<iostream.h>
#include<conio.h>
class shape
{
   public:
      float r,l1,b1,l2,b2,h2;
      void inputc()
      {
         cout<<"\nEnter the radius of circle: ";
         cin>>r;
      }
      void inputr()
      {
         cout<<"\n\nEnter the length and breadth of rectangle: ";
         cin>>l1>>b1;
      }
      void inputt()
      {
         cout<<"\n\nEnter the length, breadth and height of trapezoid: ";
         cin>>l2>>b2>>h2;
      }
      virtual void display()
      {  cout<<"\nPlease enter the data: \n";   }
};
class circle: public shape
{
   protected:
      float ac;
   public:
      void input1()
      {           inputc();           }
      void display()
      {
         ac = 3.14159 * r * r;
         cout<<"\nThe area is: "<<ac;
      }
};

class rectangle: public shape
{
   protected:
      float ar;
   public:
      void input2()
      {  inputr();   }
      void display()
      {
         ar = l1 * b1;
         cout<<"\nArea of rectangle is: "<<ar;
      }
};
class trapezoid: public shape
{
   protected:
      float at;
   public:
      void input3()
      {  inputt();        }
      void display()
      {
         at = (h2/2) * (l2+b2);
         cout<<"\nArea of trapezoid is: "<<at;
      }
};
void main()
{
   shape s; circle c; rectangle r; trapezoid t;
   shape *shapeptr; shapeptr = &s;   shapeptr->display();
   c.input1();           shapeptr = &c; shapeptr->display();
   r.input2(); shapeptr = &r; shapeptr->display();
      t.input3(); shapeptr = &t; shapeptr->display();
   getch();
}
Back to top button