Virtual
#include<iostream>
using namespace std;
class area
{
double dim1,dim2;
public:
void setarea(double d1, double d2)
{
dim1 = d1;
dim2 = d2;
}
void getdim(double &d1, double &d2)
{
d1 = dim1;
d2 = dim2;
}
virtual double getarea() {return 0;};
};
class rectangle:public area
{
public:
double getarea()
{
double d1, d2;
getdim(d1,d2);
return d1*d2;
}
};
class square:public area
{
public:
square(double d){
setarea(d,d);
}
double getarea()
{
double d1, d2;
getdim(d1,d2);
return d1*d2;
}
};
class triangle:public area
{
public:
double getarea()
{
double d1, d2;
getdim(d1,d2);
return 0.5*d1*d2;
}
};
void show(area *a)
{
cout<<a->getarea()<<endl;
}
void main()
{
area *a;
rectangle r;
triangle t;
square s(5);
t.setarea(5,10);
r.setarea(5,10);
show(&r);
show(&t);
show(&s);
}
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment