请教c++高手!输入六个数,把最大的输出,怎么做都不对啊!!

来源:百度知道 编辑:UC知道 时间:2024/05/12 03:27:58
#include<iostream>
using namespace std;
class Array
{public:
void set()
{int array[6];
cin>>array[6];
}
void max()
{int a,max;
max=array[0];
for(a=0;a<6;a++)
{if(array[a]>max)
max=array[a];}
}
void show()
{
cout<<"max="<<max<<endl;
}
private:
int array[6];
};
int main()
{Array m;
m.set();
m.max();
m.show();
return 0;
}
还是没用啊!不管输入什么数,它总输出max=1

这也用得着高手?

看看你这个函数吧:
void max()
{int a,max;
max=array[0];
for(a=0;a<6;a++)
{if(array[a]>max)
max=array[a];}
}

这个函数对序是没有问题的,问题在于你既没有返回值,也没有在别处定义max,结果你的show函数做了什么呢?

void show()
{
cout<<"max="<<max<<endl; //max从何而来??
}

要么你就让max()有一个返回值,并使show得到这个返回值并打印它;要么就为Array定义一个max成员.

你是怎么修改的,拿来看看. 要不你加63980499