$29
Introduction
You’ll evolve your solution to Sprint Packet 01 by implementing a robust templated vector class. For Sprint Packet 02, high verbosity is required.
Your Task
• Implemented a templated vector class that conforms to the following specification:
• a vector shall be a contiguously allocated, homogeneously typed sequential container
• a vector shall grow as needed
• a vector shall minimally contain the following functionality:
◦ add a new item to the container
◦ access elements using the [] operator
◦ remove an element from the container
There’s a great deal of other functionality that SHOULD be included, but this is the minimum amount needed.
• Fully and robustly test your vector class using the CATCH framework and TDD methodology.
• Retool your solution to Sprint Packet 01 to use your vector class in every place possible (rather than stl::vector or arrays).
◦ There should be NO stl::vector objects in your solution to SP02.
◦ For every array, you must be able to justify its use rather, vector class and string class notwithstanding.
• You should run your project through valgrind or another memory profiler to find any memory leaks.
Grading Rubric
Points Possible
Points Awarded
templated vector class
25
vector tests
25
reimplementation using vector
50
high verbosity
15
Code Quality and memory management
35