Read OnLine Cpp Program Example



13 POLYMORPHISM
PRAC 1 PRAC 2

// polymorphism example
// pointers to base class
#include<iostream.h>
#include<conio.h>
class cpolygon
{
protected:
int width,height;
public:
void setvalues (int a,int b)
{
width=a;
height=b;
}
};
class crectangle:public cpolygon
{
public:
int area()
{
return (width*height);
}
};
class ctriangle:public cpolygon
{
public:
int area()
{
return (width*height/2);
}
};
void main()
{
clrscr();
crectangle rect;
ctriangle trgl;
cpolygon*ppoly1=&rect;
cpolygon*ppoly2=&trgl;
ppoly1->setvalues (4,5);
ppoly2->setvalues (4,5);
cout<<rect.area()<<endl;
cout<<trgl.area()<<endl;
getch();
}
----OUTPUT----
20
10

// polymorphism example
// virtual members
#include<iostream.h>
#include<conio.h>
class cpolygon
{
protected:
int width,height;
public:
void setvalues (int a,int b)
{
width=a;
height=b;
}
virtual int area()
{
return(0);
}
};
class crectangle:public cpolygon
{
public:
int area()
{
return(width*height);
}
};
class ctriangle:public cpolygon
{
public:
int area()
{
return (width*height/2);
}
};
void main()
{
clrscr();
crectangle rect;
ctriangle trgl;
cpolygon poly;
cpolygon*ppoly1=&rect;
cpolygon*ppoly2=&trgl;
cpolygon*ppoly3=&poly;
ppoly1->setvalues(4,5);
ppoly2->setvalues(4,5);
ppoly3->setvalues(4,5);
cout<<ppoly1->area()<<endl;
cout<<ppoly2->area()<<endl;
cout<<ppoly3->area()<<endl;
getch();
}
----OUTPUT----
20
10
0

Previous Next
Download Download