第四周上机实践项目4-指向学生类的指针

来源:互联网 发布:淘宝店铺去哪找货源 编辑:程序博客网 时间:2024/05/23 10:24
/* *Copyright(c)2014,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:满星辰 *完成日期:2015年 4月 1日 *版本号:v1.0 *问题描述:设计一个学生类Student,数据成员包括学号(num)和成绩(score),成员函数根据需要自行设计(建议配备需要的set、get函数,以及必要的输入或输出,给出的代码中也可以找到需要成员函数的线索)。在main函数中,要做到:            建立一个对象数组,通过初始化,设置5个学生的数据,要求:            用指针指向数组首元素,输出第1、3、5个学生的信息;            设计一个函数int max(Student *arr);,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并返回值其学号。            设计成员函数output,在main中调用输出这5个长方柱的体积和表面积; *输入描述: *程序输出: */#include <iostream>#include <cstdlib>using namespace std;//max函数返回arr指向的对象数组中的最高成绩(max并不是成员函数,而是普通函数)class Student{public:    Student(int n,double s):num(n),score(s) {}    int get_num()    {        return num;    }    double get_score()    {        return score;    }    void out_put()    {        cout<<"num:\t"<<num<<endl;        cout<<"score:\t"<<score<<endl;    }private:    int num;   //学号    double score;   //成绩};//max函数返回arr指向的对象数组中的最高成绩(max并不是成员函数,而是普通函数)int max(Student *arr){    double t=0;    int m;    for(int i=0; i<5; i++)        if(t<arr[i].get_score())        {            m=arr[i].get_num();            t=arr[i].get_score();        }    return m;}int main(){    Student stud[5]=    {        Student(101,78.5),Student(102,85.5),Student(103,100),        Student(104,98.5),Student(105,95.5)    };    //输出第1、3、5个学生的信息(用循环语句)    for(int i=0; i<5; i+=2)    {        cout<<"output "<<i+1<<"student's information:"<<endl;        stud[i].out_put();    }    //输出成绩最高者的学号    cout<<"5个学生中成绩最高者的学号为: "<<max(stud);//调用函数显示最高成绩    return 0;}

心得:

定义max函数时一开始不明白私有成员怎么能用在类外

后来一看公有成员可以耶,那就把私有的用公有的表达出来啊~~~

图片:


0 0
原创粉丝点击