构建一个整型数组(Intarray) 类,该类私有成员只包含int*型指针p(指向数组首地址)以及整型数组长度length , 该类包括两个公有成员函数int getdata(int i) 和void setdata(int i, int value), 分别用取数组第i个元素以及设置第i个元素的值为value。 注:用户通过构造函数传入参数n来初始化length,并在构造函数内用new方法申请长度为n的int型空间用来存放数据。析构函数里需要用delete释放掉。在main(主函数)中输出
时间: 2024-02-06 17:12:21 浏览: 77
面向对象作业4-自定义整型数组类.docx
以下是实现Intarray类的代码:
```c++
#include <iostream>
using namespace std;
class Intarray {
private:
int *p;
int length;
public:
Intarray(int n) {
length = n;
p = new int[n];
}
~Intarray() {
delete[] p;
}
int getdata(int i) {
if (i >= 0 && i < length) {
return p[i];
} else {
cout << "Invalid index!" << endl;
return 0;
}
}
void setdata(int i, int value) {
if (i >= 0 && i < length) {
p[i] = value;
} else {
cout << "Invalid index!" << endl;
}
}
};
int main() {
Intarray a(5);
for (int i = 0; i < 5; i++) {
a.setdata(i, i * 2);
}
for (int i = 0; i < 5; i++) {
cout << "a[" << i << "] = " << a.getdata(i) << endl;
}
return 0;
}
```
在主函数中,我们首先创建了一个长度为5的Intarray对象a,然后通过setdata函数设置a中每个元素的值为其下标乘以2。最后,我们通过getdata函数输出a中每个元素的值。需要注意的是,在使用Intarray类时,我们需要手动调用构造函数和析构函数,以确保内存的正确申请和释放。
阅读全文