手写Vector代码

#include
#include
#include
#include
#include
using namespace std;
 
template 
class myVector
{
    private:
        T* data;
        int len;
        int size;
    public:
        myVector()
        {
            data = NULL;
            len = size = 0;
        }
 
        myVector(int _len)
        {
            data = new T[_len];
            len = _len;
            size = 0;
        }
 
        myVector(const myVector& tmp)
        {
            if(this == &tmp)
                return;
 
            //delete []data;
            data = new T[tmp.len];
            for(int i=0; i= len)
            {
                T* newData = new T[len*2 + 1];
                memcpy(newData, data, len*sizeof(T));
                delete []data;
                data = newData;
                len = 2*len + 1;
            }
            data[size++] = tmp;
            printALL();
            return *this;
        }
 
        int getSize()
        {
            return size;
        }
 
        void printALL()
        {
            cout< v;
    v.push_back(A(2));
    v.push_back(A(3));
    v.push_back(A(4));
    v.push_back(A(5));
    v.push_back(A(6));
 
 
    //node* head = buildTree();
 
    //cout<

你可能感兴趣的:(手写Vector代码)