Great Deal! Get Instant $10 FREE in Account on First Order + 10% Cashback on Every Order Order Now

#include #include using namespace std; class BasicVector { private: int vector_size; int vector_capacity; int* data; void resize(); public: BasicVector() {}; // default constructor does nothing...

1 answer below »
#include 
#include

using namespace std;

class BasicVector
{
private:
int vector_size;
int vector_capacity;
int* data;

void resize();

public:
BasicVector() {}; // default constructor does nothing
BasicVector(int);
~BasicVector();

int& at(int);
int& operator[](int);
int& front();
int& back();

void push_back(int);
void insert(int, int);
void pop_back();

int size();
int capacity();

void print();
};

void BasicVector::resize()
{
}
BasicVector::BasicVector(int capacity)
{
}
BasicVector::~BasicVector()
{
}
int& BasicVector::at(int index)
{
exit(1);
}
int& BasicVector::operator[](int index)
{
exit(1);
}
// Add in the rest of the public functions

int main()
{
int capacity;
cout "Enter starting capacity of vector: ";
cin >> capacity;

BasicVector vector(capacity);

// Implement command prompt loop
while()
{
}
return 0;
Answered Same Day Mar 15, 2021

Solution

Arun Shankar answered on Mar 16 2021
153 Votes
generic_vector.cpp
#include #include #include #include using namespace std;
template class GenericVecto
{
private:
int vector_size;
int vector_capacity;
T* data;
void resize()
{
vector_capacity*=2;
int* newa
= new int[vector_capacity];
for(int i=0;i newa
[i] = data[i];

delete[] data;
data = newa
;
}
public:
T& at(int index)
{
if(index>=vector_size)
exit(1);
return data[index];
}
T& operator[](int index)
{
if(index>=vector_size)
exit(1);
return data[index];
}
T& front()
{
return data[0];
}
T& back()
{
return data[vector_size-1];
}
void insert(int index, T value)
{
if(vector_size==vector_capacity)
resize();
++vector_size;
for(int pos=vector_size;pos>index;--pos)
data[pos] = data[pos-1];
data[index] = value;
}
void push_back(T ele)
{
if(vector_size==vector_capacity)
resize();
data[vector_size++] = ele;
}
void pop_back()
{
if(vector_size>0)
--vector_size;
}
int size()
{
return vector_size;
}
int capacity()
{
return vector_capacity;
}
void print()
{
cout
"elements("
vector_size
"): ";
for(int i=0;i cout
data[i]
" ";
cout
endl;
}

Constructo
GenericVector(int capacity)
{
if(capacity<16)
vector_capacity = 16;
else
{
int c = 16;
for(c = 16;c<=capacity;c*=2);
vector_capacity = c;
}
vector_size=0;
data = new...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here