程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> C++ 自定義動態數組模板

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;

      }

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved