关于一个C++中查找最大值的问题
#include<iostream>using namespace std;
class Student
{
public:
int num;
int score;
Student(int a,int b):num(a),score(b){}
void Max(Student *p)
{
int max=p->score;
Student *h=p;
h++;
for(int i=0;i<5;i++)
{
if(i==4)
cout<<h->score<<endl;
if(max<h->score)
max=h->score;
h++;
}
cout<<max<<endl;
for(i=0;i<5;i++)
{
if(max==p->score)
cout<<p->num<<endl;
}
}
};
int main()
{
Student a[5]={Student(23,34),Student(23,54),Student(42,34),Student(42,45),Student(45,23)};
Student *q;
q=a;
for(int i=0;i<5;i++)
{
cout<<q->num<<" "<<q->score<<endl;
q++;
}
q->Max(a);
return 0;
}
这个程序不知道哪里出错了,最后数的最大值竟是一个地址?请各位高手指教。