Question: its c program write a class named myvector using the...
ITs C++ program
Write a class named MyVector using the following UML diagram and class attribute descriptions. MyVector will use a partially filled array to store a collection of integers. The array will be created using dynamic memory allocation.
- list - an integer pointer. Holds the memory address for an integer array.
- max_size - an integer that holds the capacity of the array.
- list_size - an integer that stores the number of valid values currently stored in the array. The valid values in the array start at element 0 and go through list_size - 1.
- constructor - dynamically allocates the array of integers, storing it's memory address in pointer list. Initializes max_size to 10 and list_size to 0.
- destructor - deletes the array.
- push_back - If the array isn't full, assigns it's argument to
list[list_size] and then increments list_size. The array is full if
list_size == max_size. If the array is full, a new array twice the
size as the original replaces the old array. The contents of the
old array are copied to the new array.
IF list_size equals max_size:
SET max_size to 2 times max_size
DYNAMICALLY allocate a new int array with max_size elements.
SET temporary pointer temp_list to the address of the new array.
SET j to 0
WHILE j is less than list_size:
SET temp_list[j] to list[j]
SET list to temp_list
SET list[list_size] to the argument
- pop_back - if the array isn't empty (list_size == 0), decrements list_size. Throws an exception otherwise. The exception is a c-string: "EMPTY VECTOR".
- at - uses it's argument as a subscript for the array. Returns that element. It's return type is an integer reference (int&). Throws an exception if the argument is an invalid index. The exception is a c-string: "OUT OF BOUNDS".
- clear - sets list_size to 0. That's it. This effectively "empties" the array. Note, nothing about the array itself changes.
- size - returns the list_size variable.