您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页C++类的定义与使用实验报告

C++类的定义与使用实验报告

来源:华佗小知识
实验报告

一、实验名称:类的定义与使用 二、实验目的:

1)掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性; 2)掌握类对象的定义;

3)理解类的成员的访问控制的含义,公有、私有和保护成员的区别;

4)掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。能够根据给定的要求定义类并实现类的成员函数;

三、实验内容:

定义一个Score类,用以表示学生的各科成绩,其中的属性包括 学号、高等数学成绩、英语成绩、程序设计成绩、平均成绩; 行为包括计算平均成绩;取得平均成绩和取得学号等功能。 要求:

1.为该类定义适当的构造函数、析构函数。构造函数用以初始化学生的各项成绩信息,析构函数用于清除各项信息。

2.给出该类的各个成员函数的实现。

3.在主函数中通过输入某班n个学生的学号和各科成绩实例化出n个Score对象用以表示n个学生的成绩信息(n由用户输入),依次求出各个学生的平均成绩。最后依据平均成绩按照从高到低的顺序输出n个学生的学号。

四、实验结果:

#include class Score{ public:

Score(int num,float math,float english,float programming); void setAverage(); float getAverage(); int getNum(); ~Score(); private:

int s_num; float s_math; float s_english;

float s_programming; float s_average; };

Score:: Score(int num,float math,float english,float programming) {

s_num=num; s_math=math;

s_english=english;

s_programming=programming; }

//计算平均分

void Score::setAverage() {

s_average=(s_math+s_english+s_programming)/3; }

//取平均分

float Score::getAverage() {

return s_average; }

//取学号

int Score::getNum() {

return s_num; }

Score::~Score() {

return; }

//按大小顺序排序

void Sort(Score **pScore,int n) { int k;

Score *temp;

for(int i=0;ifor(int j=(i+1);jif(pScore[j]->getAverage()>pScore[k]->getAverage()) k=j; if(k!=i) {

temp=pScore[i];pScore[i]=pScore[k];pScore[k]=temp; } } }

void main() {

int n,num;

float math,english,programming; cout<<\"请输入学生个数:\"; cin>>n;

Score **p_student=new Score*[n];

cout<<\"请输入所有学生的学号和各科成绩\"

<<\"(各项之间以空格作为间隔,以回车作为一个学生输入信息的结束)\"<cin>>num>>math>>english>>programming;

p_student[i]=new Score(num,math,english,programming); p_student[i]->setAverage(); }

Sort(p_student,n); for(i=0;icout<getNum()<【运行结果】:

五、心得体会:

这次是C++第一实验,通过这次实验,我进一步了解了类的概念,类的定义方式和类的封装等。这次实验我也学会了构建工程文件和调试程序的基本方法,实验过程中遇到了不少困难,调试后发现,程序在调用sort子程序之后没有排序,修改之后程序实验了要求的功能。之前都没有仔细阅读老师给的程序,直接运用了上去,导致实验出错很多,在以后的实验中要多加思考,谨慎缜密。这次实验对我的帮助很大!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务