设计一个一维的int数组类IntArray(属性:下标下限、下标上限、int型指针),可以任意指定下标范围(初始化时要判断下标是否正确),并重载下标访问运算符“[]”实现数组类的下标访问。在主函数中(创建一个下标1-10的数组对象,初始化并输出)进行测试。
#include<iostream>
using namespace std;
class IntArray
{
private:
int min, max;
int* Array;
public:
IntArray(int _min, int _max) :min(_min), max(_max)
{
if (max < min)
{
cout << "error" << endl;
exit(0);
}
int n = max - min + 1;
int a;
Array = new int[n];
cout << "输入" << n << "个元素:" << endl;
for (int i = 0; i < n; i++)
{
cin >> a;
Array[i] = a;
}
}
~IntArray()
{
delete[] Array;
}
int operator[](int num)
{
if (num > max || num < min)
{
cout << "error" << endl;
exit(0);
}
return Array[num - min];
}
void display()
{
int n = max - min + 1;
for (int i = 0; i < n; i++)
cout << Array[i] << " ";
cout << endl;
}
};
int main()
{
IntArray a(1, 10);
a.display();
}