建立一个对象数组,内放五个学生的数据(学号,成绩),建立一个函数max,用指向对象的

 我来答
娱乐小八卦啊a
高粉答主

2020-02-13 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117817

向TA提问 私信TA
展开全部

建立对象如下:

class Student

{

public:

    Student(string n,float s):number(n),score(s){}

    friend void max(Student *);  //声明友元函数

private:

    string number; //将学号声明为字符串

    float score;

};

扩展资料

所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据类型,所以数组里面的每一个对象都是null值,则在使用的时候数组中的每一个对象必须分别进行实例化操作。

对象数组的声明:

先定义,再开辟空间

类名称 对象数组名[] = null; 

对象数组名 = new 类名称[长度];

定义并开辟数组

类名称 对象数组名[] = new 类名称[长度];

在声明对象数组后 ,必须对每个数组成员进行实例化话 才能直接使用,否则报空指针异常!

参考资料来源:

百度百科——对象数组

lxmatgz
推荐于2017-09-14 · TA获得超过899个赞
知道小有建树答主
回答量:241
采纳率:100%
帮助的人:77.8万
展开全部
#include <iostream>
using namespace std;
class Student
{
      public:
             Student(int,int);
             int num;
             int grade; 
} ;
Student::Student(int n,int g)
{
        num=n;
        grade=g;
}
//找出成绩最高的学生的序号
int maxGradeIndex(Student* s)
{
    int maxGrade,index=0,i=0;
    maxGrade = s[0].grade;
    for(i=0;i<5;i++)
    {
        if(s[i].grade > maxGrade)
        {
              maxGrade = s[i].grade;
              index = i;
        }
    }
    return  index;
}
int main()
{
    Student a[5]={Student(1,50),Student(2,70),Student(3,88),Student(4,100),Student(5,47)};
    int maxGradeStNum = maxGradeIndex(a);
    cout<<"成绩最好的学生学号是:"<<a[maxGradeStNum].num<<endl;
    cout<<"成绩最好的学生成绩是:"<<a[maxGradeStNum].grade<<endl;
    getchar();
    return 0;
}

C++ Builder运行输出如下:

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式