#include <iostream>
using namespace std;
class Vector
{
private:
int arr*;
size_t capacity;
size_t size;
void resize()
{
capacity =2*size;
int* newArr =new int[capacity];
for(size_t i =0 ; i<size;i++)
{
newArr[i]=arr[i];
}
delete[] arr;
arr = newArr;
}
public:
Vector():size(0),capacity(1)
{
arr =new int[capacity];
}
~Vector()
{
delete[] arr;
}
size_t getSize() const
{
return size;
}
size_t getCapacity() const
{
return capacity;
}
int& operator[](size_t index)
{
if(index>=size)
{
std::cout<index<<"out of range"<<std::endl;
return -1;
}
return arr[index];
}
void push_back(int value)
{
if(size==capacity)
{
resize();
}
arr[size]=value;
size++;
}
void pop_back()
{
if(size>0)
{
size--;
}
}
void clear()
{
size =0;
}
void print() const
{
if(size==0)
{
std::cout<<"Vector is empty"<<std::endl;
}
for(int i=0;i<size;i++)
{
std::cout<<arr[i]<<std::endl;
}
}
};
手写一个Vector
最新推荐文章于 2026-08-19 10:51:35 发布

128

被折叠的 条评论
为什么被折叠?



