C++ Design Critique


This project is intended to give you practice refactoring a program to improve its design and maintainability without changing its current functionality significantly. You should examine the student's code given below that implements a general solution to the CompSci 100 assignment animals given for the past few semesters and refactor it based on your thoughts about design and our discussion in class. You may create (and comment) any new classes you want to help improve the program; however, you should justify each change you make by explaining specifically how it improves the code.

Additionally, you should provide a set of tests that verify your modified program still works as intended. Tests can be in the form of input data files, separate driver programs, or other classes that verify every line of code written works as intended.

The code is linked below or available for checkout from Eclipse as animals_c++.

Critique

You should critique the code and design of the program in terms of its C++ style, design, and general readability. The program has some good qualities, but the design and code also have some problems. You should write approximately one page analyzing the code and design. The following points should help guide your critique.
Comments?