#include <iostream>
using namespace std;
class student
{
public:
student(int n, double s) :num(n), score(s) {} //参数初始化表构造函数
int getn() { return num; }
double gets() { return score; }
void show()
{
cout << num << " " << score << endl;
}
private:
int num;
double score;
};
int main()
{
student stu[5] = { student(1,99),student(2,92),student(3,89),student(4,79),student(5,29) };
student* p = &stu[0];
for (int i = 0; i <= 2; p = p + 2, i++)
{
p->show();
}
void max(student*);
max(p);
return 0;
}
void max(student* s)
{
double m = s[0].gets();
int k = 0;
for (int i = 1; i < 5; i++)
{
if (m < s[i].gets())
{
m = s[i].gets(); k = i;
}
}
cout << "最高成绩学号:" << s[k].getn();
}
函数传递参数的地方,别用另一个指针等于数组第一个的地址。你直接穿str就对了