C++ Develop a basic graphics package. Use the following class inheritance: Shape -> TwoDimensionalShape -> (Circle or Square or Rectangle or Triangle). Interact with the user. Let the user specify the position, size, shape and fill characters to be used in drawing each shape. The user can specify more than one of the same shape. As you create each shape place a "Shape" * pointer to each new "Shape" object into an array. Each class has its own "draw" member function. Write a polymorphic screen manager that walks throught the array, sending "draw" messages to each object in the array to form a screen image. Redraw the screen image each time the user specifies an additional shape.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Complete ownership and distribution copyrights to all work purchased.