第八周实践项目3-指向学生类的指针

问题及代码:

/*
 *Copyright(c)2016,烟台大学计算机与控制工程学院
 *All right reserved.
 *文件名称:77.cpp
 *作    者:董凯琦
 *完成日期:2016年4月19日
 *版 本 号:v1.0
 *
 *问题描述:设计一个学生类Student,数据成员包括学号和成绩,成员函数根据需要自行设计。
 *输入描述:
 *程序输出:
 */
#include <iostream>
using namespace std;
class Student
{
public:
    Student(int n,double s):num(n),score(s){}
    void show();
    int getN(){return num;}
    int getS(){return score;}
private:
    int num;
    double score;
};
void Student::show()
{
    cout<<"学号:"<<num<<"成绩:"<<score<<endl;
}
int max(Student *arr);
int main()
{
    Student stud[5]=
    {
        Student(101,78.5),Student(102,85.5),Student(103,100),
        Student(104,98.5),Student(105,95.5)
    };
    for(int i=0;i<5;i+=2)
    {
        cout<<"第"<<i+1<<"个学生的信息为:"<<endl;
        stud[i].show();
    }
        cout<<"5个学生中成绩最高者的学号为:"<<max(stud);
        return 0;
}
int max(Student *arr)
{
    int k=0;
    double max_s=arr[0].getS();
    for(int i=1;i<5;i++)
    {
        if(max_s<arr[i].getS())
           {
                max_s=arr[i].getS();
                  k=i;
           }
    }
    return arr[k].getN();
}


运行结果:

第八周实践项目3-指向学生类的指针_第1张图片

知识点总结:

第一,在外部定义的函数一定要通过公共接口成员函数来访问数据成员!第二,切记切记在调用成员函数时别忘了括号!!!

学习心得:

起初容易在类似于arr[i].getS()的地方漏掉括号,经过不断的调试改掉了这个毛病

你可能感兴趣的:(第八周实践项目3-指向学生类的指针)