C++类与对象实战:查找最高成绩学生
本文提供了一个关于C++类与对象的课后习题简单实例,展示了如何通过建立对象数组、使用指向对象的指针作为函数参数,在自定义的函数中找出5个学生的最高成绩者,并输出其学号。
问题背景
建立一个对象数组,内放5个学生(学号,成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生的最高成绩者,并输出其学号。
代码实现
#include <iostream>
using namespace std;
class Student {
public:
Student(int = 10, int = 0);
int number;
int score;
void display();
};
Student::Student(int num, int sco) : number(num), score(sco) {
}
void Student::display() {
cout << number << " " << score << endl;
}
void max(Student *p) {
int maxi = p[0].score;
int temp = 0;
for (int i = 1; i < 5; i++) {
if (p[i].score > maxi) {
maxi = p[i].score;
temp = i;
}
}
cout << p[temp].number << " " << maxi << endl;
}
int main() {
Student stu[5] = {
Student{1001, 90},
Student{1002, 80},
Student{1003, 99},
Student{1004, 84},
Student{1005, 85}
};
Student *p = &stu[0];
max(p);
return 0;
}
核心思路解析
第1步:定义学生类(Student)
定义了学生类,包含学号和成绩两个成员变量,以及一个构造函数和一个显示信息的函数。
第2步:编写最大值函数(max)
该函数接收一个指向学生对象的指针作为参数。通过遍历指针所指向的对象数组,比较每个学生的成绩,找到最高成绩及其对应的学生索引。
第3步:在主函数中调用
创建了一个包含5个学生数据的对象数组,并使用指向第一个元素的指针调用max函数,最终输出最高成绩学生的学号和成绩。
以上就是C++之类和对象课后习题简单实例的详细内容,更多关于C++类与对象教程的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









