class ShapeFactory
{
public:
virtual Rectangle *MakeRectangle( int x, int y, int w, int h ) ;
virtual Ellipse *MakeEllipse( int x, int y, int w, int h );
};
class DottedShapeFactory : public ShapeFactory
{
public:
Rectangle *MakeRectangle( int x, int y, int w, int h );
Ellipse *MakeEllipse( int x, int y, int w, int h );
};