zoukankan      html  css  js  c++  java
  • C++ 自定义动态数组模板

    #include "stdafx.h"
    #include <iostream>
    using namespace std;

    template <class T>
    class MyArray
    {
        int len;
    public:
        T *data;
        MyArray()
        {
        data = NULL;
        len = 0;
     }
        ~MyArray()
     {
       delete[] data;
     }
        T& operator [](int index);
        void push(T d);
    };
    template <class T>
    T& MyArray<T>::operator [](int index)
    {
        if(index<0||index>(len-1))
      {
        cout<<"Bad subscript!"<<endl;
        exit(1);
      }
      return data[index];
    }
    template <class T>
    void MyArray<T>::push(T d)
    {
      T *pdata = data;
      data = new T[len + 1];
      if(pdata != NULL)
      {
        for(int i = 0 ; i < len ; i++)
        {
          data[i] = pdata[i];
        } 
        delete[] pdata;
       }
       data[len] = d; 
       len++;
    }

    //测试代码 

    int main(int argc, char* argv[])
    {
      MyArray<int>  a;
        a.push(11);
        a.push(22);
        a.push(33);
      a.push(55);
      a[0]=44;
        cout<<a[0]<<endl<<a[1]<<endl<<a[2]<<endl<<a[3]<<endl;
      return 0;
    }

  • 相关阅读:
    Adb 命令
    python 属性
    python 计时器
    【网易云课堂工作】什么是本能三元组
    functiontools.partial
    源码
    听总结
    线程和死锁
    加入kendall进入计算
    添加K-CORE值进入运算
  • 原文地址:https://www.cnblogs.com/pbreak/p/1766920.html
Copyright © 2011-2022 走看看