建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max。用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。
- #include<iostream>
- using namespace std;
- class Student
- {
- public:
- Student(int n=101,int g=45):num(n),grade(g){};
- void display();
- int num;
- int grade;
- };
- void Student::display()
- {
- cout<<num<<" "<<grade<<"分."<<endl;
- }
- void max(Student *p)
- {
- int i,max_g=0,max_i=0;
- for(i=0;i<5;i++)
- if((p+i)->grade>max_g)
- {
- max_g=(p+i)->grade;
- max_i=i;
- }
- (p+max_i)->display();
- }
- int main()
- {
- Student s[5]={
- Student(),
- Student(102,41),
- Student(103,68),
- Student(104,89),
- Student(105)
- };
- Student *p;
- p=&s[0];
- max(p);
- }