#include<iostream>
using namespace std;
class array_max
{
private:
int array[10];
int max;
public:
void set_value();
void max_value();
void show_value();
};
void array_max::set_value
{
for(int 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;
}
}
void array_max::show_value
{
cout<<max<<endl;
}
int main()
{
array_max.set_value();
array_max.max_value();
array_max.show_value();
return 0;
}
就是利用数组,手动输入一串数字,然后排序的问题,代码如上,但是还是出现错误,请问为什么?
给你修改了下,很多错误
#include<iostream>
using namespace std;
class array_max
{
private:
int array[10];
int max;
public:
void set_value();
void max_value();
void show_value();
};
void array_max::set_value()
{
for(int 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<<endl;
}
int main()
{
array_max am;
am.set_value();
am.max_value();
am.show_value();
return 0;
}
函数定义的括号哪里去了?
创建类对象的格式是:类名 对象名,然后用对象去访问类的成员函数
看到你在main函数里面的代码,格式就是在用类的静态成员函数,所以我在原代码基础上写了一份静态成员函数的代码
#include
using namespace std;
class array_max
{
public:
static int array[10];
static int max;
static void set_value()
{
cout << "Please input 10 values\n";
for(int i=0; i {
cin >> array[i];
}
}
static void max_value();
static void show_value()
{
cout<<max<<endl;
}
};
//static成员变量在类内定义,不能在类内初始化,但是它们都要初始化后才能使用,所以要在类外初始化好
int array_max::array[10]={0};
int array_max::max=0;
//静态成员函数放在类外则不加static修饰符
void array_max::max_value()
{
int i;
max = array[0];
for(i=1;i<10;i++)
{
if(array[i]>max)
max=array[i];
}
}
int main()
{
array_max::set_value();
array_max::max_value();
array_max::show_value();
return 0;
}