#include <iostream>
using namespace std;
class Array_max
{
public:
void set_value();
void max_value();
void show_value();
private:
int array[10];
int max;
};
void Array_max::set_value()
{
int i;
for (i=0;i<10;i++)
{
cin>>array[i];
}
}
void Array_max::max_value()
{
int i;
max=array[0];
for(i=1;i<10;i++)
if(array[i]>max) max=array[i];
}
void Array_max::show_value()
{
cout<<"max="<<max;
}
int main()
{
Array_max arrmax;
arrmax.set_value();
arrmax.max_value();
arrmax.show_value();
return 0;
}
//我开始的想法是使用new创建array[n]数组的,但是总是错误,请教高人了。
呵呵. 你的想法是正确的.
增加一个int型数据成员,作为数组长度.
然后用New int[n]; 来动态申请数组空间.
具体代码如下: 测试通过! 修改以及增加的地方给你加粗了. 你看看.
#include <iostream>
using namespace std;
class Array_max
{
public:
void set_value();
void max_value();
void show_value();
private:
int *array;
int n;
int max;
};
void Array_max::set_value()
{
int i;
cout<<"输入数组的长度:";
cin>>n;
array=new int[n];
for (i=0;i<n;i++)
{
cin>>array[i];
}
}
void Array_max::max_value()
{
int i;
max=array[0];
for(i=1;i<n;i++)
if(array[i]>max) max=array[i];
}
void Array_max::show_value()
{
cout<<"max="<<max;
}
int main()
{
Array_max arrmax;
arrmax.set_value();
arrmax.max_value();
arrmax.show_value();
return 0;
}