Monday, 8 June 2015

Program to illustrate virtual function and Inheritance


Code for Program to illustrate virtual function and Inheritance in C++ Programming



 



 
#include <iostream.h>
#include <conio.h>

class shape
{
 protected:
       double x,y;
  public:
       virtualvoid get_data()=0;
       virtualvoid display_area()=0;
};

class triangle : public shape
{
   public:
    void get_data(void)
    {
       cout<<"\n\n=====Data Entry for Triangle=====\n\n";
       cout<<"Enter base and height respectively : ";
       cin>>x>>y;
    }
    void display_area(void)
    {
       cout<<"\n\n=====Area of Triangle=====\n\n";
       double aot;
       aot = 0.5 * x * y;
       cout<<"Area of Triangle is "<<aot;
    }
};

class rectangle : public shape
{
   public:
    void get_data(void)
    {
       cout<<"\n\n=====Data Entry for Rectangle=====\n\n";
       cout<<"Enter length of two sides  : ";
       cin>>x>>y;
    }
    void display_area(void)
    {
       cout<<"\n\n=====Area of rectangle=====\n\n";
       double aor;
       aor = x * y;
       cout<<"Area of Rectangle is "<<aor;
    }
};


void main()
{
clrscr();
triangle tri;
rectangle rect;
shape *list[2];
list[0]=&tri;
list[1]=&rect;

int choice;
while(1)
{
clrscr();
  cout<<"\n=====MEASURES OF DIFFERENT SHAPE=====\n";
  cout<<"\nChoose your choice\n";
  cout<<"1) Area of Triangle\n";
  cout<<"2) Area of Rectangle\n";
  cout<<"3) Exit\n";
  cout<<"Enter your choice:-";
  cin>>choice;
  switch(choice)
  {
     case 1 : list[0]->get_data();
          list[0]->display_area();
          getch();
          break;
     case 2 : list[1]->get_data();
          list[1]->display_area();
          getch();
          break;
     case 3 : goto end;
     default: cout<<"\n\nInvalid choice\nTry again\n";
          getch();
  }
}
end:
}

No comments:

Post a Comment