Inventory_Iterator

  

You will be working with iterators directly or indirectly (depending on how much abstraction you choose).

The program reads data from two files, itemsList-0x.txt and inventoryList-0x.txt. File extensions on Linux may be arbitraryi.e., these files could have been named with .dat as the extensions.

One of the most important skills in our craft is interpreting error messages. Remember the ones you receive when you attempt to compile the unmodified code.

The key abstractions employed in this program are Item, ItemStack, and Inventory. Complete ADT implementations have been provided for the former two. A partial implementation has been provided for the Inventory. Your task is to finish the Inventory.

You must implement:

  1. Copy Constructor
  2. Assignment Operator
    • Note       this is already provided and complete. Refer to our discussions of the       copy-and-swap method.
    • Once       you have completed the Copy Constructor, you are done with the Big-3.
  3. Inventory::isFull –      refer to documentation in Inventory.h.
  4. Inventory::findMatchingItemStackIterator – refer to documentation in Inventory.h.
  5. Inventory::addItemStackNoCheck – refer to documentation in Inventory.h.
  6. Inventory::mergeStacks –      refer to documentation in ItemStack.h.
  7. Inventory::display.      This must generate the Inventory summary

=========================================

You can implement the Copy Constructor, findMatchingItemStack, and display with loops.

You can, alternatively, use the built-in C++ functions discussed in Review 03 Example 5 (if you like a challenge).