北京语言大学网络教育学院
《C++》结课作业
注意:
本学期所布置的结课作业,请同学一律按照以下要求执行:
1) 结课作业提交起止时间:1月10日-------3月9日。(届时平台自动关闭,逾期不予接收。)
2) 结课作业课程均需通过“离线作业”栏目提交电子版,学院不收取纸介的结课作业,以纸介回寄的作业一律视为无效;
3)截止日期前可多次提交,平台只保留最后一次提交的文档,阅卷时以最后一次提交的结课作业为准,截止日期过后将关闭平台,逾期不交或科目提交错误者,按0分处理;
4) 提交文档要求:提交的文档格式为doc、rar,大小10M以内;
5) 必须严格按照每门课程的答题要求完成作业,没有按照学院要求来做的结课作业,将酌情扣分。
一. 论述题(本大题共5小题,请任选其中两道题作答,每小题25分,总分50分)
1. C++中的继承使编程者可以用已有的数据类型创建新的数据类型,并保留已有数据类型的特点。请简述继承方式的三种类型,及三种继承类型的类成员的特点。
2. 请简述C++中引用和指针的区别。
3. 面向对象程序设计有哪些优点?
4.C++编译器自动为类产生的四个缺省函数是什么?
5.不允许重载的5个运算符是哪些?
二. 编程题(本大题共5小题,请任选其中两道题作答,每小题25分,总分50分)
1、建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用 指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。初值自拟。
2、编写一个程序,不断要求用户输入两个数,直到其中的一个为0,则结束。对于每两个数,程序将使用一个函数来计算它们的调和平均数,并将结果返回给main(), 而后者将报告结果。调和平均数指的是倒数平均值的倒数,计算公式如下为:调和平均数= 2.0 * x * y / (x + y)。
3、输入一行字符,分别统计其中包含的数字、字母和其他字符的个数。
4、设计一个Time类,包含数据成员minute(分)和sec(秒),模拟秒表,每次走一秒, 满60秒进一分钟,此时秒又从0开始算。要求输出分和秒的值。初值自拟。
5、输入3个double类型的值,判断这3个值是否可以表示一个三角形的三条边。