计算机程序设计(C++)单元测试题3及答案.docx
《计算机程序设计(C++)单元测试题3及答案.docx》由会员分享,可在线阅读,更多相关《计算机程序设计(C++)单元测试题3及答案.docx(15页珍藏版)》请在优知文库上搜索。
1、一、单选题1、下列有关类的说法,不正确的是()。A.只有类中的成员函数或类的友元函数才能存取类中的私有数据B.类是一种用户自定义的数据类型C.在类中,如果不作特别说明,所有的数据成员均为私有数据成员D.在类中,如果不作特别说明,所有的成员均为公有成员正确答案:D解析:C+规范规定,类中所有的成员默认为私有成员,除非显示地约定。2、有如下两个类的定义:classAl;classBBAlvl,*v2;BBv3;BB*v4;;其中有一个成员变量的定义是错误的,这个变量是()oA.v2B.vlC.v4D.v3正确答案:D解析:在类BB中不能声明BB类型的对象作为成员变量,C+不支持嵌套定义对象本身,但
2、是定义自身的指针是可以的。3、有关类和结构体的关系,错误的是()。A.类的成员默认都是私有的B.结构体的成员默认都是公开的C.结构体一般只有数据成员,通常不会加入函数方法D.类一般只有函数方法,通常不会包含数据成员正确答案:D4、按照常理,下列哪个概念可以理解为对象而不是类?()A.国际知名学府B.985工程大学C.诺贝尔奖获得者D.西安交通大学正确答案:D5、设有以下类和对象的定义:classA(public:intk;;Al,x2z*plz*p2;则下面针对成员变量k的引用,正确的是()oA.xl-k=l;B.pl.k=3;C.2.k=2;D.(*p2)-k=4;正确答案:C解析:Xl,x
3、2是对象,只能用XLk这样的引用形式;pl,p2是指针,只能用pl-k或者(*pl).k这样的引用形式。6、下面有关类与对象的说法中,错误的是()0A.对象是类的实例B.一个对象不能同时属于多个没有关系的独立的类C.类和对象的关系与数据类型和变量的关系相似D.一个类只能有一个对象正确答案:D解析:类是一种定义,对象是该定义的实例。一个类当然可以有很多个对象。7、请阅读如下程序,给出输出结果:#include#includeusingnamespacestd;classXCFinta;public:XCF(intaa=O):a(aa)coutl;XCF(XCF&x)(a=x.a;cout,2;)
4、XCF()couta;intGeta()returna;;voidmain()(XCFdl(5)zd2(dl);XCF*pd=newXCF(8);coutGeta();deletepd;运行时的输出结果是()oA.1218855B.128512C.12185D.1215588正确答案:A解析:考查的是对象的构造和析构顺序。dl先构造,下来d2构造、d3构造。析构时d3显式地使用delete析构了,接着按照构造的反顺序d2析构,dl析构。8、下列关于构造函数说法不正确的是()。A.在构造函数中可以对类中的成员进行初始化B.构造函数必须与类同名C.构造函数必须有返回值D.构造函数可以省略不写正确答
5、案:C9、下列哪些情况下不会调用对象的析构函数?()A.当对象变量脱离其作用域时B.函数中定义的动态对象变量当函数执行结束时C.用delete删除对象指针时D.将对象指针强行赋值为NULL时正确答案:D10、构造函数的函数名要求是()。A.必须是constructB.和类同名C.其中的字母必须是大写D.可以任意取名,只要符合标识符规范正确答案:B11、构造函数的返回类型是()oAJntB.不写返回类型CxharD.char*正确答案:B12、为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为()。A.privateB.publicC.protectedD.st
6、atic正确答案:B解析:类成员为PriVate和ProteCted权限的,只能在该类的成员函数或其派生类的成员函数中访问。访问StatiC成员需要用类似A:func()的形式访问。13、由于以下哪个原因,在编程实践中很少使用私有继承。()A.私有继承的性能低于公有继承B.私有继承不能很好的保护基类成员的安全性C.私有继承对基类的编写方法有更为严格的要求D.经过私有继承之后,基类的成员再也无法在以后的派生类中直接发挥作用正确答案:D解析:基类的公有和保护成员到了派生类之中全部成为私有成员,基类的成员再也无法在以后的派生类中直接发挥作用,实际上是终止了基类功能的继续派生,出于这种原因,一般情况下
7、很少使用私有继承。14、下列程序的输出结果是()oincludeusingnamespacestd;classBase(public:voidprint()coutB;;classDerived:publicBase(public:voidprint()coutD;;intmain()(Derived*pd=newDerived();Base*pb=pd;pb-print();pd-print();deletepd;returnO;)A.DDB.BDC.DBD.BB正确答案:B解析:对于没有特别声明过的一般函数来说,指针是什么类型的,就调用哪个类型的函数。想要实现按照指针指向对象的类型动态改变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 程序设计 单元测试 答案
