展会信息港展会大全

C++ 自定义动态数组模板
来源:互联网   发布日期:2016-01-26 10:31:56   浏览:1949次  

导读: include stdafx h include iostream using namespace std; template class T class MyArray { int len; public: T *data; MyArray() { data = NULL; le ...

#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;

}

赞助本站

人工智能实验室

相关热词: 动态数组 C++

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港