已知一个求数组最大值类(ArrayMax)如下:
class ArrayMax{
private:
int m_n;//代表数组元素个数
int *p; //数组的起始地址
public:
ArrayMax();//用来输入m_n,给数组分配空间并输入数组元素
~ArrayMax();//用来释放数组内存空间并提示:Array released.
int getMax();//求最大值
};
#include<iostream>
using namespace std;
class ArrayMax
{
private:
int m_n;//代表数组元素个数
int* p; //数组的起始地址
public:
ArrayMax()
{
cin >> m_n;
p=new int [m_n];//输入数组的长度m_n,然后根据m_n动态分配数组空间
for (int i = 0; i < m_n; i++)
{
cin >> p[i];
}
}//用来输入m_n,给数组分配空间并输入数组元素
~ArrayMax()
{
cout << "Array released." << endl;
}//用来释放数组内存空间并提示:Array released.
int getMax();//求最大值
};
int ArrayMax::getMax()
{
for (int i = 0; i < m_n; i++)
{
int max = p[0]; // 默认最大值为数组第一个元素
for (int i = 1; i < m_n; i++) {
if (p[i] > max) {
max = p[i];
}
}
return max;
}
}
int main()
{
ArrayMax a1;
cout << a1.getMax() << endl;
}