For 2 marks this week, read Tutorial 8 on WebCT. Write a program with an inheritance hierarchy: The base class is Shape, with a single abstract function called area(). Write two subclasses Rectangle and Square; a Rectangle has width and height, while Square has side length. Implement appropriate get methods. Answer this question: Should Square inherit from Rectangle? Should Rectangle inherit from Square? Why or why not?