C++ 题目,新手求教!!

来源:百度知道 编辑:UC知道 时间:2024/06/21 10:55:41
定义一个 Sutdent类,在该类定义中包括:一个数据成员score(分数)及两个静态数据成员total(总分)和学生人数count;成员函数scoretotalcount(float s)用于设置分数,求总分和累计学生人数;静态成员函数sum()用于返回总分;静态成员函数average()用于求平均分.
在main函数中,输入某班同学的成绩,并调用上述函数求全班学生的总分和平均分. 本人是新学者, 希望在代码上加上一定的注释,特别不明白类的性质用意.麻烦了,谢谢!

“类”可以理解为某些相互关联的变量和函数的组合体。通过类名可以定义“类的对象”,这些对象也就因其“类”而具有了对应的相关变量和函数。
比如Student类,定义好之后,可以在主程序中这样使用:

main()
{
Student a;//定义一个类的对象a
a.total=0;//初始化总分
cin>>a.count; //输入学生人数

for(int i=1;i<=count;i++) //循环输入成绩,循环次数上限为count学生人数
{
float x;
cin>>x; //输入一个分数
a.scoretotalcount(x); //调用设置分数的函数
a.total+=x;
//静态成员变量total进行累加,这一步应该整合到函数scoretotalcount()中去,为了明了,我写出来
}

cout<<a.sum()<<endl
<<a.average()<<endl;
//输出结果。或者直接运行a.sum();a.average();依照这两个成员函数的定义而定

}

这样的好处是,“a”作为一个“Student类”的变量(它的实际意义是:一个班级,或者一个学生集体),可以很方便地使用自己内部所拥有的函数和变量。

在整个程序代码中,这部分关于“学生Student”的变量和函数,通过“类”这种手段,得到了很好的“封装”。这样封装以后,可以使程序的整体和局部一目了然,便于局部修改和整体控制;当程序需要很多类时,类与类之间没有太多的牵扯,数据的更改和调用也更为安全。

只有关联性强、使用范围窄的一些变量,以及使用范围也局限于控制这些变量的一些函数,才可以整合到一个“类”底下。是否应该建立一个“类”,判断的标准一般也是要跟实际情况(比如“一个班”,“都是学生”)以及编程要求相联系。不能强拉硬扯,东拼西凑,因为使用“类”的目的,是让程序有更好的封装性、安全性,让程序便于修改完善。