问题描述
- C++类中数组的手动赋值问题
-
#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 valuesn";
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;
}
时间: 2024-10-28 05:23:38