Answered step by step
Verified Expert Solution
Question
1 Approved Answer
( 1 5 . 9 CIST 2 3 6 2 Programming Assignment: Building a Vector Class Replica Overview This programming assignment extends the idea that
CIST Programming Assignment: Building a Vector Class Replica
Overview
This programming assignment extends the idea that we had for SimpleVectorOfints to where you will
create a replica of the std:vector class. The std: : vectior class is what you have been using for a while
now, and it is based on C Templates and is considered a container class.
It will be helpful to consult the
cplusplus.com reference for the std: : vector class as you work on this
assignment. The leftnavigation on this reference has the member functions. You can read the details about
the member functions and there is even a way to try some sample test code using the std:vector class. This
could be helpful as you try to replicate the behavior in your class.
File Structure
The main.cpp is to be used for testing. You can put in any code in there that you want. I suggest creating
functions for your test as it makes it easier to run the tests that you want. Your vector class will be in the
CIST namespace. So it can be accessed as CIST: : vector when you are testing it This helps
deconflict the vector name from the std: : vector. For example, in your main. cpp you might have:
CIST: :vectorhhh&&
write In c please need code the for vector.h here is the code
Main.cpp
#include
#include
#include "vector.h
using namespace std;
int main
Type your test code here.
You will not be submitting this code. It's only for testing.
return ;
Vector.h
vector class template
#ifndef VectorVectorh
#define VectorVectorh
#include
#include Needed for badalloc exception
#include Needed for the exit function
#include
namespace CIST
template
class vector
private:
T aptr; To point to the allocated array
unsigned long arraySize; Number of elements in the array
unsigned long arrayCapacity; number of memory locations available to the vector
increase capacity
void increaseCapacityunsigned long;
public:
Default constructor
vector;
Constructor declaration
vectorunsigned long;
Resize the vector changes the size attribute
void resizeunsigned long n;
Resizes the vector and initializes the unused locations updates the size attribute
void resizeunsigned long n const T &val;
Copy constructor declaration
vectorconst vector &;
Destructor declaration
~vector;
Accessor to return the array size
unsigned long size const;
Accessor to return the array capacity
unsigned long capacity const;
Accessor to test empty status
bool empty const;
Accessor to return a specific element
T &atunsigned long position;
Overloaded operator declaration
T &operatorconst unsigned long &;
back element of the vector
T &back;
front element of the vector
T &front;
void pushbackT; New pushback member
T popback; New popback member
insert element at position
int insertunsigned long, const T &;
erase a range of values
void eraseunsigned long, unsigned long;
erase one element at a position
void eraseunsigned long;
;
This is where your method definitions will be written. This default constructor
the first method you need to complete. To compile the program, you should create
empty stubs for each of the declared methods.
template
vector::vector
#endif
post results of completed code please.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started