SRM

搏至无憾 鲨向巅峰

视觉组第二次培训作业

视觉组第二次培训作业

用C++重写vector

要求包含以下函数功能:

  • 默认构造函数
  • 复制(拷贝)构造函数
  • 用数组构造Vector
  • 析构函数
  • empty() capacity() size() pop() push() at()
  • 赋值运算符(=)重载:支持通过 = 对vector赋值
  • 索引运算符([])重载:支持通过 [] 访问vector元素
  • 加法运算符(+)重载:支持两个以及多个vector相加的情况,如v=v1+v2+v3
  • 前置以及后置递增运算符(++)重载:vector每个元素++
  • 左移(<<)以及右移(>>)运算符重载:支持对vector变量的输入/输出
  • 预留内存空间
  • 释放超过size的内存空间
  • 1.在某位置插入某元素 2.在某位置插入某长度的某元素
  • 1.删除某位置的元素 2.删除某段长度内的元素
  • 交换两个vector的数据元素

ps:函数请自行定义


文件编写:

vector.h(定义)

vector.cpp(具体实现)


作业提交:

vector.h vector.cpp 打包压缩为 姓名-组别-0719.zip 以邮件形式发送至 linzitao1379@gmail.com
提交截至时间 7.25 24:00


C++ 动态内存

cpp动态内存