/*
02. *Copyright (c) 2016,烟台大学计算机学院
03. *All rights reserved.
04. *文件名称:cpp
05. *作 者:孙亚茹
06. *完成日期:2016年4月28日
07. *版 本 号:v1.0
09. *问题描述:用指针指向数组首元素,输出第1,3,5个学生的信息,用指向对象的指针做函数参数,在函数中返回成绩最高者学号。
*/
#include <iostream> using namespace std; class Student { private: int num; double score; public: Student (int nu,double so); int getnum(){return num;} double getscore(){return score;} }; Student::Student(int nu,double so) { num=nu; score=so; } int max(Student *arr); int max(Student *arr) { int i,j; double M=0; for(i=0;i<5;i++) { if(arr[i].getscore()>M) { M=arr[i].getscore(); j=arr[i].getnum(); } } return j; } int main() { Student stu[5]={Student(101,78.5),Student(102,85.5),Student(103,100),Student(104,98.5),Student(105,95.5)}; Student *p; p=stu; cout<<"第一个学生的信息为:"<<p[0].getnum()<<" "<<p[0].getscore()<<endl; cout<<"第三个学生的信息为:"<<p[2].getnum()<<" "<<p[2].getscore()<<endl; cout<<"第五个学生的信息为:"<<p[4].getnum()<<" "<<p[4].getscore()<<endl; cout<<"5个学生中成绩最高者的学号为:"<<max(stu); return 0; }
学习心得:
私有成员不能在类外函数中访问,构造函数不用加函数类型,可以把一个有返回值的函数当成一个数和其他数比较。
时间: 2024-10-04 18:49:10