CMSC 341 -- Fall 2002 -- Project 1 Copy this file into your directory and edit it to add your answers to the following questions about project 1. These questions count for 10% of your project grade. 1. (10 points) In this project the AListElement class was completely distinct from the AList class. What problems might this cause? How does this approach run counter to the principles of object-oriented programming? Suggest a better way to structure the relationship between the AList and AListElement classes. 2. (10 points) The AList class was defined as a template so that it could use any pair of classes for keys and values. However, in the main routine we had to figure out what these types were and call a special routine for each. Using this approach, if there are M possible key types and N possible value types, we would potentially need to implement MN routines for handling command files. Given that ALists are templated, why were we forced to have one routine for each combination of key and value types? Please be clear and explicit. Suggest a way that the assignment could have been restructured to avoid this problem, or argue that no such restructuring is possible.