构建一个整型数组( Intarray )类,该类私有成员只包含 int *型指针 p (指向数组首地址)以及整型数组长度 length ,该类包括两个公有成员函数 int getdata ( int i ) 和 void setdata ( int i , int value ),分别用取数组第 i 个元素以及设置第 i 个元素的值为 value 。 注:用户通过构造函数传入参数 n 来初始化 length ,并在构造函数内用 new 方法申请长度为 n 的 int 型空间用来存放数据。析构函数里需要用 delete 释放掉。
时间: 2024-02-03 13:02:17 浏览: 136
下面是 Intarray 类的实现代码:
```cpp
class Intarray {
private:
int* p;
int length;
public:
// 构造函数
Intarray(int n) {
length = n;
p = new int[length];
}
// 析构函数
~Intarray() {
delete[] p;
}
// 获取第 i 个元素的值
int getdata(int i) {
if (i < 0 || i >= length) {
cout << "Error: index out of range!" << endl;
return -1;
}
return p[i];
}
// 设置第 i 个元素的值为 value
void setdata(int i, int value) {
if (i < 0 || i >= length) {
cout << "Error: index out of range!" << endl;
return;
}
p[i] = value;
}
};
```
使用示例:
```cpp
Intarray arr(5); // 创建一个长度为 5 的 Intarray 对象
// 设置数组元素的值
arr.setdata(0, 1);
arr.setdata(1, 2);
arr.setdata(2, 3);
arr.setdata(3, 4);
arr.setdata(4, 5);
// 获取数组元素的值并输出
for (int i = 0; i < 5; i++) {
cout << "arr[" << i << "] = " << arr.getdata(i) << endl;
}
```
输出结果:
```
arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[3] = 4
arr[4] = 5
```
阅读全文