max函数返回一个指向对象的指针,便于用指针访问该类中的成员函数。
#include<iostream>
using namespace std;
class Student{
public:
Student(int n, float s):num(n),float(s){}
int snum();
float sscore();
private:
int num;
float sscore();
};
int Student::snum(){
return num;
}
float Student::sscore(){
return score;
}
int main(){
Student stu[5]={{1001,86},{1002,68},{1003,90},{1004,77},{1005,94}};
Student *p=stu; //数组名就是数组的首地址,相当于 *p=&stu[0]
Student* max(Student *); //max函数的声明
cout <<"The highest score : NO."<<max(p)->ssnum()<<" "<<max(p)->sscore()<<endl;
return 0;
}
Student *max(Student *p){
Student *q=p;
int count=1;
while(count < 5){
p++;
if( p->sscore() > q->sscore() ) //p所指对象的成绩大于q所指
q=p;//让p指向成绩最大的对象
count++;
}
return q;
}
(可以直接复制运行)
本文通过一个具体的C++实例,展示了如何使用指针和自定义max函数来找出数组中具有最大成绩的学生信息。文章详细解释了类的成员函数、指针操作以及比较逻辑,为初学者提供了一个理解指针和函数应用的良好案例。
1128

被折叠的 条评论
为什么被折叠?



