运用析构函数和构造函数找出一个整形数组最大的数 C++
时间: 2024-02-06 19:12:08 浏览: 131
好的,我可以帮你解决这个问题。
首先,我们需要定义一个整型数组,并且在构造函数中初始化数组。然后在析构函数中找到数组中的最大值并输出。
下面是示例代码:
```cpp
#include <iostream>
using namespace std;
class FindMax {
private:
int *arr;
int size;
public:
FindMax(int n) {
size = n;
arr = new int[n];
cout << "请输入" << n << "个整数:" << endl;
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
}
~FindMax() {
int max = arr[0];
for (int i = 1; i < size; i++) {
if (max < arr[i]) {
max = arr[i];
}
}
cout << "最大值为:" << max << endl;
delete[] arr;
}
};
int main() {
FindMax fm(5);
return 0;
}
```
在上面的代码中,我们定义了一个名为 `FindMax` 的类,它有一个构造函数和一个析构函数。在构造函数中,我们首先定义了整型数组 `arr`,然后从控制台输入 `n` 个整数并存储到数组中。在析构函数中,我们遍历整型数组 `arr`,并找到其中的最大值。最后,我们输出最大值,并使用 `delete[]` 关键字释放数组所占用的内存。
在 `main` 函数中,我们创建了一个 `FindMax` 类型的对象 `fm` 并传入参数 `5`。这将触发 `FindMax` 类的构造函数,从控制台输入 `5` 个整数并存储到 `arr` 数组中。当 `fm` 对象生命周期结束时,其析构函数将自动被调用,输出数组中的最大值。
希望这能够帮助你解决问题!
阅读全文