c++问题,求高手进

来源:百度知道 编辑:UC知道 时间:2024/05/17 07:51:02
#include<iostream.h>
class ARRAY
{
int i;
private:
float data[10];
float max,min,average;
public:
void init(float a[10])
{
for(i=0;i<10;i++)
data[i]=a[i];
}
void process()
{
max=min=data[0];
average=0;
for(i=0;i<10;i++)
{
if(data[i]>max) max=data[i];
if(data[i]<min) min=data[i];
average=average+data[i];
}
}

void print()
{
int j=0;
for(i=0;i<10;i++)
{
cout<<data[i];
j++;
if(j%5) cout<<endl;
}
cout<<"max="<<max<<endl;
cout<<"min="<<min<<endl;
cout<<"average="<<average<<endl;
}
};
void mian()
{
ARRAY arr;
float a[]={3.0,4,5,2,1,10,5.5,7.5,8,9};
arr.init(a);
arr.process();
arr.print();

mian改成main不就能编译了?
不过逻辑上有没有问题不知道了。

main写错了,你写的mian,拼写错误

void mian???
应该是main吧?

一般不要把公用成员函数放在类里面来写,因为在类里面定义的函数都会被默认为内联函数,而内联函数要求代码要短小而且不包含for和while这样的语句,所以放在类外定义,在函数名前面加上类名限定符即可。
已编译确认:
#include<iostream>
using namespace std;
class ARRAY
{
private:
float data[10];
float max,min,average;
public:
void init(float a[]);
void process();
void print();
};

void ARRAY::init(float a[])
{
for(int i=0;i<10;i++)
data[i]=a[i];
}

void ARRAY::process()
{
max=min=data[0];
average=0;
for(int i=0;i<10;i++)
{
if(data[i]>max) max=data[i];
else if(data[i]<min) min=data[i];
average=average+data[i];
}
}

void ARRAY::print()
{
int j=0;
for(int i=0;i<10;i++)
{
cout<<data[i]<<" ";
j++;
if(j%5=