#include<iostream>
#include<vector>
#include<fstream>
#include<string>
using namespace std;
class VectorRF {
int* data;
int col;
int cap;
void resize() {
cap++;
int* new_data = new int(cap);
for (int i = 0; i < col; i++)
new_data[i] = data[i];
delete data;
data = new_data;
}
void resize2() {
cap+=2;
int* new_data = new int(cap);
for (int i = 0; i < col; i++)
new_data[i + 1] = data[i];
delete data;
data = new_data;
}
public:
VectorRF()
{
col = 0;
cap = 1;
data = new int(cap);
}
int size()
{
return col;
}
int clear()
{
delete[] data;
VectorRF();
}
void push_back(int val)
{
resize();
data[col++] = val;
}
void push_front(int val)
{
resize2();
data[0] = val;
col++;
}
int& at(int index)
{
if (index < 0 || index >= col)
throw "Index out of range";
return data[index];
}
int& operator [] (int index) // запись и чтение
{
return data[index];
}
const int& operator [] (int index) const // чтение
{
return data[index];
}
};
int main()
{
VectorRF vec;
vec.push_front(5);
}