C++类中数组的手动赋值问题

问题描述

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-08-26 01:11:15

C++类中数组的手动赋值问题的相关文章

c#-C#中数组初始化后赋值问题

问题描述 C#中数组初始化后赋值问题 C#中数组已经如下初始化后: int [] myIntArray={0,1,2,3,4}; 是不是上述语句后面,不允许再用如下语句: myIntArray={5,9,10,2,99}; 解决方案 myIntArray={5,9,10,2,99}; 这种语法,只有数组定义时初始化可以使用. 后续的只能按下标一个个的赋值,当然你可以用循环来赋值数组中的每一个元素. 解决方案二: 是的,数组初始化后,不能再显示的赋值. 解决方案三: myIntArray={5,9

c#中定义三个类,在第二个类中实例化第一个类,怎样在第三个类中存数据到第二个类实例的第一个类。

问题描述 c#中定义一个点的数组类,然后在另一个类中实例化点并赋值点的x,y,然后再另外建一个类读取点的近似坐标,怎样把近似坐标存入之前的那个已经有了x,y的点数组?求大神!!! 解决方案 解决方案二:第二个类中将第一个类的实例属性public出来,或者暴露相关设置方法解决方案三:list<T>解决方案四:如果把你提到的类,依次标记为clsA,clsB,clsC,那么clsB至少含有字段privateclsAxxx,privateList<clsA>xxx,分别是:存储点,存储近似

成员变量-如何让JAVA不自动回收某个类中的变量?

问题描述 如何让JAVA不自动回收某个类中的变量? 我的一个web应用中 初始化的时候会给一个类中的静态成员变量赋值,然后隔一段时间会改变成员变量中的值,这样java会自动回收吗?如果长时间不改变成员变量的值会给我回收掉吗?如果回收的话有什么办法可以不让他回收? 解决方案 静态类本身不会回收,但是如果你的程序运行在容器中(比如web程序),而容器本身会回收,这种情况相当于关闭了你的程序.那么当然这些变量全部都没有了. 你有两个办法,一个是根据容器的约定,阻止它回收.比如说容器规定,10分钟没有用

java中数组的相关知识小结(推荐)_java

1.  2.数组的命名方法 1)int[]ages=new int[5]; 2) int[]ages;     ages=new int[5]; 3)int[]ags={1,2,3,4,5}; 4)int[]ags;    ags=new int{1,2,3,4};    或者   int[]ags=new int{1,2,3,4}; 3.java不支持不同类型的重名数组 4.java中数组的循环赋值 package dierge; public class Shuzu { public sta

java-如何为已封装的构造类中的数组赋值并打印

问题描述 如何为已封装的构造类中的数组赋值并打印 初学java 望大神赐教 class Leisss{ private String name; private Leisss(String a){ this.name=a; } public void setname(String ss){ this.name=ss; } public String getname(){ return this.name; } static Leisss shuzu[]=new Leisss[3]; public

c++-关于C++将类时,类中的数组需不需要用指针建立的问题

问题描述 关于C++将类时,类中的数组需不需要用指针建立的问题 如 我有class A{ private: int number[1000]};还是 class A{ private: int* number}然后在具体的初始化时在动态空间.由于我们在确立对象时,会根据动态去创建.A *test:test=new A:这个样子 ,上述两种做法的却别大吗?我估计二种做法都是动态内存的,只是第一种会导致类所有变量会连续,而第二种可能分散(因为他有二次申请内存的过程),是这样吗,各位大牛! 解决方案

wcf-WCF中数据契约类包含数组成员时客户端报错,怎么解决

问题描述 WCF中数据契约类包含数组成员时客户端报错,怎么解决 WCF中数据契约类包含数组成员时客户端报错,怎么办呢?这个声明为数据契约的类是当成返回值传给客户端的,当数组成员赋值为null的时候客户端能正确接收到数据,但是当给这个数组成员赋予一个数组时客户端就不能读取这个返回的数据了.有高手有类似经验吗?望不啬赐教啊,很急 解决方案 你的数组元素的类型是什么,你的详细报错信息是什么 参考https://social.microsoft.com/Forums/nl-NL/da8c4e56-0a5

[WinForm]在一个界面把值用一个数组保存然后存到一个实体类中.

问题描述 界面有多个TxtBox值... 解决方案 解决方案二:怎么实现?高手来挖解决方案三:this.m_texts=newstring[textBoxes.Length];for(inti=0;i<textBoxes.Length;i++){m_texts[i]=textBoxes[i].Text;} 解决方案四:List<string>list=newList<string>();foreach(Controlcinthis.Controls){if(c.GetType

objective c-oc中如何用在main中定义的字符串赋值给创建的类?

问题描述 oc中如何用在main中定义的字符串赋值给创建的类? 解决方案 还有,在main里没看见楼主创建CHBLetter对象 解决方案二: 第二张照片的str=s中的str应该是self.str或者_str,指向该类的属性"str" 解决方案三: 楼主私信要的代码: //返回随机生成的名字 (NSString *)randomForName { NSMutableString *tempStr = [NSMutableString string]; for (int i = 0;