Description
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 |