Assigned: Tuesday March 04, 2003 Deadline: Tuesday March 11, 2003 at MIDNIGHT PROGRAM 6: ShapelyShapes.cpp ------- Implement the Shape hierarchy below. Each TwoDimensionalShape should contain the function getArea to calculate the area of the two dimensional shape. Each ThreeDimensionalShape should have member functions getArea and getVolume to calculate the surface area and volume of the three-dimensional shape, respectively. Create a program that uses a vector of Shape pointers to objects of each concrete class in the hierarchy. The program should print the object to which each vector element points. Also, in the loop that processes all the shapes in the vector, determine whether each shape is a TwoDimensionalShape or a ThreeDimensionalShape if a shape is TwoDimensionalShape display its area. If a shape is a ThreeDimensionalShape, display its area and Volume. Shape / \ / \ TwoDimensionalShape ThreeDimensionalShape / | \ / | \ Circle Quadrangle Triangle Sphere Cube Tetrahedron / \ / \ Rectangle Square As in previous assignments you are responsible in writing a "driver" program that demonstrate your implementation of the above functionality and that it works correctly. The "driver" program is the main function. OTHER REQUIREMENTS: ------------------- * Proper commented code * Modularized program * Good software engineering techniques, hints in text book. * You must submit at least the following files (i.e., all the files necessary to compile your program): README.txt ShapelyShapesDriver.cpp Makefile To submit the files, you will need to use the submit program. Your files need to be under a common subdirectory called "1730_program6". Execute the below command line while in your home directory: submit 1730_program6 cs1730 NOTE: you need to be LOGGED ONTO ajax when you execute the submit command.