オブジェクト配列を作成し、5人の学生のデータ(学号、成績)を内蔵します.
オブジェクト配列を作成し、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);
-
- }