Hi please see the below code
Code:#include<iostream> using namespace std; class OldRectangle{ int x1,x2,y1,y2; public: OldRectangle(int a,int b,int c,int d):x1(a),x2(b),y1(c),y2(d) { cout<<"Old Rectangle"<<endl; } void oldDraw() { cout<<"using old drawing method"<<endl; } }; class Rectangle{ public: virtual void draw()=0; }; class RectangleAdapter : public Rectangle, private OldRectangle{ public: RectangleAdapter(int x,int y,int width, int height): OldRectangle(x,y,x+width,y+height) { cout<<"Initialize the old rectanlge object through this new Rectangle adapter object"<<endl; } void draw() { oldDraw(); } }; int main() { Rectangle *r= new RectangleAdapter(10,20,33,66); r->draw(); return 0; }
My question is why we need a RectangleAdapter class.
I can directly write in the main like
OldRectangle *ptr = new OldRectangle(10,20,10+33,20+66);
ptr->oldDraw();
this will do the same thing for me
Please clarify me.
Regards




Reply With Quote