Virtual

No comments

#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);

}

No comments :

Post a Comment