#include <iostream>
using namespace std;
class Student
{
public:
Student(int = 0,int = 0);
void display();
void max(Student * ,int); //定义找出最大成绩元素的函数
private:
int no;
int score;
};
Student::Student(int no,int score):no(no),score(score){}
void Student::display()
{
cout <<"no:" << no << " score:" << score << endl;
}
void Student::max(Student * stu,int n)
{
Student *max_stu = stu; //设计第一个元素为最大元素
for (int i = 0; i < n; i++)
{
if ((*stu).score > (*max_stu).score)
{
max_stu = stu;
}
stu++;
}
(*max_stu).display(); //输出最大元素的信息
}
int main()
{
//定义对象数组
Student stu[5] =
{
Student(1,100),
Student(2,200),
Student(3,300),
Student(4,400),
Student(5,500)
};
Student *p;//指定对象指针
p = stu; //将对象数组的首地址赋值给指针对象
(*p).max(p,5); //调用max函数,找出成绩最高者,并输出学生的成绩。
system("pause");
return 0;
}
|