Complete the program —— array vector class

Array Vector Class

· Write a class the will emulate (partially) a C++ vector.

· Here is a good overview of a c++ vector:

· What does this mean? Well lets compare the two:

o Arrays allow us to store like items in contiguous memory locations.

o Vectors do as well.

o Arrays have a fixed size. Array of size 10, cannot store 11 items.

o Vectors will grow to accommodate the new item.

o Arrays use an integer index to access locations (slots or cells) in the array.

o Vectors do as well, but they also have methods (push,pop) to add items (really push_back and pop_back).

· Vectors do many other things (see above link) but we are only going to implement the basics for your first program.


· Write a C++ class that (loosely) implements the functionality of a C++ vector using an array as your storage container.

· Your vector will only need to store integers at this time (we will fix that later).

· It must be variable size:

o Initially, your array container should be sized at whatever size you see fit. However, allocating too much memory is a waste and you will lose points.

o If an item is pushed onto a full array, you will automatically resize the array to 1.5 times its current size, to accommodate the new item.

o If your array container becomes .40 full, you will shrink your container to half its size (unless your at the original allocated size).

§ For example, if you start off with a container of 25, you may go up to 37, 55, 82 , etc., but it’s size will never go below 25.

· It must have push_back and pop_back implemented which adds an item to the end of the array and removes an item from the end of the array respectively.

o What would pushing or popping from the front of the array require?

· Some other methods that might be helpful:

o void print(); // public

o int size(); // public

o double percentFull(); // private

Starter Code

· main.cpp

· myVector.cpp

· myVector.h

Testing your code

· Write a program that creates an implementation of your vector class and runs the following tests on it:

o Create instance of myvector of size 10 and immediately attempt to pop_back (remove from empty vector).

§ Removing from an empty vector should return false.

o Insert the values 13,31,73 into your vector. Print it out.

o Insert 10000 items into your vector. Print the size of your vector.

o Remove 998 items from your vector. Print the size of your vector.

o Print out your vector.