建立一个对象数组,内放五个学生的数据(学号,成绩),建立一个函数max,用指向对象的
展开全部
建立对象如下:
class Student
{
public:
Student(string n,float s):number(n),score(s){}
friend void max(Student *); //声明友元函数
private:
float score;
};
扩展资料
所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据类型,所以数组里面的每一个对象都是null值,则在使用的时候数组中的每一个对象必须分别进行实例化操作。
对象数组的声明:
先定义,再开辟空间
类名称 对象数组名[] = null;
对象数组名 = new 类名称[长度];
定义并开辟数组
类名称 对象数组名[] = new 类名称[长度];
在声明对象数组后 ,必须对每个数组成员进行实例化话 才能直接使用,否则报空指针异常!
参考资料来源:
展开全部
#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运行输出如下:
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询