时间:2011-04-25 关注公众号 来源:网络
#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;
}
上一篇:cpp关于const和函数
下一篇:C++编译期间类中的常量
文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系我们删除。(本站为非盈利性质网站)
电话:13918309914
QQ:1967830372
邮箱:rjfawu@163.com