#include using namespace std;class shapepublic:virtual double area()=0;class Rectangle:public shapeprivate:double W,H;public:Rectangle(double w,double h)W=w;H=h;double area()return W*H;const PI=3.14159;class Circle:public shapeprivate:double X,Y,R;public:Circle(double x,double y,double r)X=x;Y=y;R=r;double area()return PI*R*R;void main()Rectangle W(3,5);shape *P;P=coutarea()endl;Circle C(3,4,5);shape coutU.area()endl;