建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max。用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。

 

 
  
  1. #include<iostream>  
  2. using namespace std;  
  3. class Student  
  4. {  
  5. public:  
  6.     Student(int n=101,int g=45):num(n),grade(g){};  
  7.     void display();  
  8.     int num;  
  9.     int grade;  
  10. };  
  11.  
  12. void Student::display()  
  13. {  
  14.     cout<<num<<" "<<grade<<"分."<<endl;  
  15. }  
  16. void max(Student *p)  
  17. {  
  18.     int i,max_g=0,max_i=0;  
  19.     for(i=0;i<5;i++)  
  20.         if((p+i)->grade>max_g)  
  21.         {  
  22.             max_g=(p+i)->grade;  
  23.             max_i=i;  
  24.         }  
  25.         (p+max_i)->display();  
  26. }  
  27. int main()  
  28. {  
  29.       
  30.     Student s[5]={  
  31.     Student(),  
  32.     Student(102,41),  
  33.     Student(103,68),  
  34.     Student(104,89),  
  35.     Student(105)  
  36.     };  
  37.     Student *p;  
  38.     p=&s[0];  
  39.     max(p);  
  40.