Vector类实现数组动态分配的问题

这是题目以及输入输出大概要求
第三题:

img

img

我想问的是,通过add方式动态分配,是不是在里面一直new一个数组比原来长度多一,然后通过复制两个数组实现,但是我的代码跑出来一直没东西
:我的代码如下


#ifndef VECTOR_H
#define VECTOR_H 
#include<iostream>
#include<vector>
using namespace std;

template <class T>
class Vector
{
    public:
        Vector()
        {
            lenth=0;
        }
        ~Vector()
        {
            delete []date;
        }
        T& operator [](int i)//重载运算符[] 
        {
            return date[i];
        }
        
        T add(T i);
        int remove(T j);
        
        int get_size()
        {
            return lenth;
        }
    private:
        T* date;
        int lenth;
};

template<class T> T Vector<T>::add(T i) //添加元素 
{
    int num;
    num=(lenth==0)?1:lenth*2;//动态分配内存 当数组空时,动态分配一个;数组不为空时,为了复制拼接 长度变大
    vector <T>newdate(num);
    for(int j=0;j<num;j++)
    newdate[j]=date[j];
    newdate[lenth]=i;
    lenth=lenth+1;
    delete[] date;
    date=newdate;
    return date[lenth-1]; 
}

template<class T> int Vector<T>::remove(T j)//删除元素 
{
    if(j>lenth||j<0)
    return 1;
    for(int i=j;i<lenth;i++)
    date[i]=date[i+1];
    lenth=lenth-1;
}
#endif

求解决题目的代码答案


C++自己定义并且实现一个简单的vector类模板_c++ 自定义vector_@眼里有星河的博客-CSDN博客 C++STL本身已经继承到很多模板,例如:向量模板:vector, list… 关联式容器: set, map等等。最近关于向量容器,自己动手实现了一下类似向量容器vector的一个简单实现。话不多说,直接上代码。#ifndef _MYVECTOR_H#define _MYVECTOR_H#include#include#includetemplate class _c++ 自定义vector https://blog.csdn.net/weixin_44312010/article/details/107432221