This assignment involves rewriting your assignment #9 to use recursion in some of the methods.
The main program is identical to that of assignment #8. The Customer class is also identical to that of assignment #8, and the sample executable is the same as for assignment #9.
Add the following to the private section of your header file from assignment #9 (or to the sample solution):
    // new private recursive helper methods
    void subCopyDB(CNode* &subHead, CNode* otherSubHead); // used by copyDB
    void subDeleteDB(CNode* &subHead); // used by deleteDB
    bool subIDInUse(int nID, CNode* subHead) const; // used by add and changeID
    bool subRemove(int id, CNode* subPrev, CNode* subCurr); // used by remove
    void subPrint(CNode *subHead) const; // used by print
    bool subChangeID(int id, int nID, CNode* subHead); // used by changeID
Convert the methods listed in the comments to the right to use the recursive submethods, and also write the implementation of the submethods.
The behaviour of assignments #9 and #10 is identical.
Submit files "CustomerDB.h" and "CustomerDB.cpp".
Updated: Mon Mar 14th, 2011