Write a C++ program to implement Virtual function used in Runtime polymorphism.
PROGRAM:
# include<iostream.h>
# include<conio.h>
# include<stdio.h>
#include<string.h>
class vehicle
{
char make[20];
int milage;
public:
vehicle(char*,int);
virtual void display();
};
class two_wheeler : public vehicle
{
char is_auto_clutch;
public:
two_wheeler(char *,int,char);
void display();
};
class four_wheeler : public vehicle
{
char is_ac;
public:
four_wheeler(char *,int,char);
void display();
};
vehicle::vehicle(char *a,int b)
{
strcpy(make,a);
milage=b;
}
void vehicle::display()
{
cout<<"www.adkool.com";
cout<<"\nVehicle Make :"<<make<<"\n";
cout<<"\nMilage :"<<milage<<"\n\n";
}
two_wheeler::two_wheeler(char *a,int b,char c):vehicle(a,b)
{
is_auto_clutch=c;
}
void two_wheeler::display()
{
vehicle::display();
cout<<"Is auto clutch available :"<<is_auto_clutch<<"\n";
}
four_wheeler::four_wheeler(char *a,int b,char c):vehicle(a,b)
{
is_ac=c;
}
void four_wheeler::display()
{
vehicle::display();
cout<<"Is A/C available :"<<is_ac<<"\n";
}
void main()
{
char * make = new char[30];
char is_auto_clutch,is_ac;
int milage;
clrscr();
cout<<"www.adkool.com";
cout<<"\nTwo_wheeler";
cout<<"\nMake:";
cin>>make;
cout<<"\nMilage:";
cin>>milage;
cout<<"\nClutch Available(y/n)?:";
cin>>is_auto_clutch;
two_wheeler two(make,milage,is_auto_clutch);
cout<<"\nFour_wheeler";
cout<<"\nMake:";
cin>>make;
cout<<"\nMilage:";
cin>>milage;
cout<<"\nAC available(y/n)?:";
cin>>is_ac;
four_wheeler four(make,milage,is_ac);
vehicle* list[2];
list[0]=&two;
list[1]=&four;
cout<<"\n_________Vehicle Details_________\n";
cout<<"\nTwo_wheeler:\n";
list[0]->display();
cout<<"\nFour_wheeler:\n";
list[1]->display();
getch();
}
OUTPUT
Two_wheeler
Make:cbz
Milage:56
Clutch Available(y/n)?:y
Four_wheeler
Make:limo
Milage:100
AC available(y/n)?:y
_________Vehicle Details_________
Two_wheeler:
Vehicle Make :cbz
Milage :56
Is auto clutch available :y
Four_wheeler:
Vehicle Make :limo
Milage :100
Is A/C available :y