(完整word)《C++程序设计》期末考试及答案,推荐文档_第1页
(完整word)《C++程序设计》期末考试及答案,推荐文档_第2页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 1 页 共 3 页(C+程序设计):号学:业专:名姓:站授函C+程序设计期末考试试卷o密o封考生注意:1.本试卷共有四道大题,满分100分。2.考试时间90分钟。3.卷面整洁,字迹工整。4.填写内容不得超出密封线。A. int *p=new in t (10);B. i nt *p=new in t10;C. i nt *p=new int;int *p=new in t40(0)11.下列关于虚基类的描述,错误的是()A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而

2、来,则仍然先调用基类构造函数,再调用派生类的构造函数12.已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。A. void print( ) con st;B. const void print( ); C. void const print( );D. void prin t(c onst);13.在下面有关静态成员函数的描述中,正确的是()。A.在静态成员函数中可以使用this指针B.在建立对象前,就可以为静态数据成员赋值总分题号-一-_ 二_ 三四核分人题分30212425复查人得分、单项选择题(每小题2分,共30分)C.静态成员函数在类外定义时,要用s

3、tatic前缀D.静态成员函数只能在类外定义14.在下列关键字中,用于说明类中公有成员的是()。A. publicB. private15.以下有关继承的叙述正确的是(A.构造函数和析构函数都能被继承C. protectedD. friend)。B.派生类是基类的组合1. C+是一种()的程序设计语言。C.派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员A.面向对象B.即可面向过程,又可面向对象C.面向过程2.在下面有关析构函数特征的描述中,正确的是(A.一个类中可以定义多个析构函数C.析构函数不能指定返回类型3.下面对于友元函数描述正确的是(A.友元函数的实现必须在类的内部定义C

4、.友元函数破坏了类的封装性和隐藏性)。B.析构函数名与类名完全相同D.析构函数可以有一个或多个参数 )。B.友元函数是类的成员函数D.友元函数不能访问类的私有成员D.面向系统D.基类的公有成员一定能被派生类的对象访问、判断题(每题3分,共21分)1.静态的成员函数没有隐含的this指针,所以它们只能访问静态的数据成员。2.通过类对象可以访问类中所有的成员。()3.构造函数是可以被派生类继承的。()4.构造函数和析构函数都可以是虚函数。()4.下面描述中,表达错误的是()。A.公有继承时基类中的B.公有继承时基类中的C.公有继承时基类中的D.保护继承时基类中的5.所谓多态性是指(public成员

5、在派生类中仍是private成员在派生类中仍是protected成员在派生类中仍是public成员在派生类中是 )public的private的protected的5.只有类中全部函数都为纯虚函数时,该类才被称为抽象类。()6.对于同一个运算符来说,重载的运算符的优先级比未重载的运算符的优先级高。()7.一个类的友元一定是另一个类的成员函数。()三、简答题(每小题6分,共24分)A.不同的对象调用不同名称的函数C.一个对象调用不同名称的函数6.重载赋值操作符时,应声明为(A.友元B.虚7.下列对模板的声明错误的是(A. template C. template 8.下列类中( )不是输入流类A

6、. ifstreamB.istrstream9.()不是构造函数的特征。A.构造函数的函数名与类名相同C.构造函数可以设置缺省参数10.下列语句中错误的是()。private的B.不同的对象调用相同名称的函数D.一个对象调用不同名称的对象)函数。C.成员D.多态)。B. template D. template istream的派生类。C. iostreamD. ofstreamB构造函数可以重载D构造函数必须指定类型说明1.什么是封装性?请举例说明。2.什么是函数重载和运算符重载?为什么要使用重载?3.拷贝构造函数在哪几种情况下被调用?4.什么是类?什么是对象?对象与类的关系是什么?四、程序

7、分析题(前三小题各6分,第五题7分,共25分)1.指出下面程序中的1处错误,并说明原因。#in cludeclass PointintX.Y;public:Point( )X=0;Y=0;Point(int x=0,int y=0)X=x;Y=y;void display( )coutX,Yendl;;void main()Point p;p.display();答:2.指出下面程序中的1处错误,并说明原因。#in cludeclass CTestpublic:CTest() x=20;private:int兀friend void friend_f(CTest fri);;void frie

8、nd_f(CTest fri) fri.x=55;void main()CTest c1 ,c2;c1.friend_f(c2);答:3.写出下面程序的运行结果#in cludeclass Testprivate:2 页 共 3 页(C+程序设计)int num;public:Test(int n=O)num=n;num+;Test( )cout ” Destructor is active,number=;void main()Test x2;cout Exiting main endl;答:4.写出下面程序的运行结果。#in cludeclass Testprivate:static in

9、t val;int a;public:static int func();static void sfunc(Test &r);;int Test:val=20;int Test:fu nc() val-; return val; void Test:sfunc(Test &r)r.a=25; coutResult3=r.a; void main()coutResultl=T est:fu nc()e ndl; Test a;coutResult2=a.fu nc()vendl; Test:sfu nc(a);答:vvnu me ndl;C+4序设计期末考试答案选择题(15X

10、2)1.B2.C3.C4.D5.B6.C7.B8.D9.D10.D11.B12.A13.B14.A15.B二、 判断题(7X2)1.V2.X3.X4.X5.X6.X7.X三、 简答题(4X4)1.解答要点:所谓数据的封装, 就是将数据结构和作用于数据结构上的操作组成一个实体, 数据的表示方 式和对数据的操作细节被隐藏起来,用户通过操作接口对数据进行操作。对于用户来说,只知道 如何通过操作接口对该数据进行操作,而并不知道是如何操作的,也不知道数据是如何表示的, 这就是数据的封装。例如我们经常使用的手机,机壳将零件和线路封装了起来,我们在接打电话 或收发短信时是通过手机面板上的按键(接口)。2.解

11、答要点:(1)函数重载是指一个标识符可同时用于为多个函数命名;(2)运算符重载是指一个运算符可同时用于多种运算。 也就是说, 相同名字的函数或运算符 在不同的场合可以表现出不同的行为。(3)使用重载的目的是为了更好地表达行为共享,可以使程序员在只知道操作的一般含义而不知道操作的具体细节的情况下能正确地对某个对象使用一个操作。另外,使用重载的直接益 处是减少了程序员记忆操作名字的负担3.解答要点:(1)用一个对象初始化另一个对象时;(2)当用对象作为函数参数传递时;(3)当程序中需要创建临时对象时(如函数返回对象时)。4解答要点:(1)类是一组具有共同的属性特征和行为特征的对象的抽象;(2)对象就是系统中用来描述客观事物的一个实体, 它是构成系统的一个基本单位, 由一组 属性和一组行为构成。(3)类和对象之间的关系是抽象和具体的关系, 类是对多个对象进行抽象的结果, 对象是类 的具体实现。四、 程序分析题(4X6)1.错误位置:Point p;错误原因:当生成无参对象时,缺省参数的构造函数和默认参数的构造函数会产生混淆。2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论