- 定义容器类DoubleArray;
- 用来容纳一个double数据序列,可以任意指定下标的范围,而且还要检查下标是否越界;
- 为了能像一般数组那样用下标访问其中的元素,需要为DoubleArray重载的下标访问运算符“[]”。
#include <iostream>
using namespace std;
class DoubleArray
{
private:
int size;
double *buf;
public:
DoubleArray(int n);
~DoubleArray()
{
delete[]buf;
}
double &operator[](int n);
void show()
{
cout << "double数据列为:" << endl;
for (int j = 0; j < size; j++)
{
cout << buf[j]<<endl;
}
}
};
DoubleArray::DoubleArray(int n)
{
size = n;
buf = new double[size + 1];
}
double &DoubleArray::operator[](int n)
{
static double ch = 0;
if (n > size || n < 0)
{
cout << "out of the bound" << endl;
return ch;
}
return *(buf+n);
}
int main()
{
DoubleArray a(4);
for (int i = 0; i < 4; i++)
{
a[i] = 1.4 + i;
}
a.show();
a[2] = 5.88;
a.show();
system("pause");
return 0;
}