欢迎来到天天文库
浏览记录
ID:35556630
大小:139.50 KB
页数:10页
时间:2019-03-28
《C++06年高级语言程序设计(二)试题及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、成绩第1页(共10页)上海大学2006~2007学年春季学期试卷课程名:高级语言程序设计(二)课程号:08305002学分:4应试人声明:我保证遵守《上海大学学生手册》中的《上海大学考场规则》,如有考试违纪、作弊行为,愿意接受《上海大学学生考试违纪、作弊行为界定及处分规定》的纪律处分。应试人应试人学号应试人所在院系题号一(15)二(20)三(25)四(20)五(20)得分一、判断题。对真命题在题后括号内打“√”,对假命题打“×”(每小题1分,共15分)。1.类是对象的抽象,而对象是类的具体实例。(√)2.创建类的对象时,系统将自动调用构造函数或者复制构造函数。(√
2、)3.在任何情况下,C++系统总是会给类提供默认的构造函数。(×)4.析构函数可以被重载。(×)5.对于局部自动对象,先构造的对象后析构,后构造的对象先析构。(√)6.类的常量数据成员的初始化必须采用冒号语法。(√)7.可以显式调用某个对象的析构函数来销毁该对象。(×)8.C++类中的所有成员函数(包括静态成员函数)的形式参数中均包含一个隐含的指向本类对象的指针参数this。(×)9.创建元素个数为3的对象数组时,将调用3次构造函数。(√)10.运算符重载不能改变运算符的运算优先级、结合方向。(√)11.一般应将插入运算符“<<”、抽取运算符“>>”重载为友元函数
3、。(√)12.派生类继承了基类的所有数据成员、所有成员函数(包括构造函数等)。(×)13.含有纯虚函数的类为抽象类。可以创建抽象类的对象。(×)14.派生类的成员函数可以访问基类部分的所有(包括受保护的、私有的)数据成员和成员函数。(×)15.创建派生类的对象时,先调用基类的构造函数,再调用组合成员的构造函数,最后执行派生类构造函数体的语句。(√)得分第2页(共10页)得分二、填空题(共20分)1.(5分)完成如下交换两个实参值的函数模板。templatevoidswap(①_Ta,②_Tb___){③_Ttemp__________;tem
4、p=a;a=b;b=temp;}2.(6分)用如下结构体类型structNode{intx;Node*next;};的变量构成单向链表。设链表首结点的地址为head,又假定链表中的所有结点均为堆结点,填空完成如下释放链表所有结点的函数。voidFreeList(Node*&head){④Node__*p;while(⑤head!=NULL_){p=head;head=⑥head->next;deletep;}}3.(每空1分,共9分)C++语言提供了3中继承:公用继承、保护继承、私有继承。在基类中,数据成员的访问属性有公用的(public)、受保护的(protec
5、ted)、私有的(private),这些属性在派生类中是怎样的?请在下表中填写public,protected,private或者不可访问。表1.基类成员在派生类中的访问属性继承方式基类成员属性公用继承保护继承私有继承publicpublicprotectedprivateprotectedprotectedprotectedprivateprivate不可访问不可访问不可访问第3页(共10页)得分三、阅读理解(共25分)。1.(10分,每行1分)有如下程序,写出该程序的运行结果。#include#includeusingna
6、mespacestd;classTime{public:Time(inthour=0,intminute=0,intsecond=0){h=hour;m=minute;s=second;}voidSet(inthour=0,intminute=0,intsecond=0){h=hour;m=minute;s=second;}Time&operator++(){if(++s==60){s=0;m++;if(m==60){m=0;h++;if(h==24)h=0;}}return*this;}Timeoperator++(int){Timetemp(*this);++
7、(*this);returntemp;}friendostream&operator<<(ostream&output,constTime&time){output<8、00:00
8、00:00
此文档下载收益归作者所有