《C++语言程序设计练习题四及答案.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计练习题四及答案.docx(16页珍藏版)》请在优知文库上搜索。
1、一、单选题1、下列哪种C+语法形式不属于多态?()A.不同函数中定义的同名局部变量B.重载运算符C重载函数D.对象多态正确答案:A2、为类ABC定义重载运算符“+”,下列哪种定义形式是正确的?()A.定义为类ABC的函数成员:voidoperator+().B.定义为类ABC的函数成员:ABCoperator+(ABCobjl,ABCobj2)C.定义为类ABC的友元函数:ABCOPeratOr+(ABCObj)D.定义为类ABe的函数成员:ABC。Perator+(ABCobj)正确答案:D3、下列关于LiSkoV准则的描述中,错误的是()。A派生类的对象不能赋值给基类对象B.派生类对象的地
2、址可以赋值给基类的对象指针C.应用LiSkOV准则,实际上是将派生类对象当作基类对象来使用D.派生类的对象可以初始化基类引用正确答案:A4、定义如下的基类A和派生类B:classApublic:virtualvoidf()函数成员fun被声明为虚函数coutuA:fu()called;);classB:publicA(public:voidfu()/重写虚函数成员funcoutfun();/通过基类指针p调用虚函数成员fun通过基类指针p调用虚函数成员fun,将自动调用哪个函数?()A.A:fun()B.先调用A:fun(),再调用B:fun()C.B:fun()D.语法错误正确答案:C5、下
3、列关于对象多态性的描述中,错误的是()。A通过基类引用访问派生类对象的虚函数成员,将自动调用基类的函数成员B.通过基类对象指针访问派生类对象的虚函数成员,将自动调用派生类的函数成员C.应用对象多态性的目的是为提高程序代码的可重用性D.应用对象多态性,实际上是用基类来代表派生类正确答案:A6、下列关于虚函数的描述,错误的是()oA.基类中声明的虚函数成员被继承到派生类后仍是虚函数B.类中的静态函数、构造函数、析构函数都可以是虚函数C.声明虚函数需使用关键字virtualD.只有虚函数成员才会在调用时表现出多态性正确答案:B7、下列关于纯虚函数的描述,错误的是()oA含有纯虚函数成员的类被称为抽象
4、类B.纯虚函数在实现之后就是一个正常的虚函数,会在调用时表现出多态性C纯虚函数没有函数体D.定义纯虚函数的目的是为了重用其算法代码8、下列关于抽象类的描述,错误的是()oA.不能用抽象类定义对象,即抽象类不能实例化B.可以用抽象类定义对象引用,引用其派生类对象C.可以用抽象类定义对象指针,指向其派生类对象D.抽象类的派生类一定是抽象类正确答案:D9、下列关于多继承的描述,错误的是()。A多继承会造成从不同基类所继承的成员之间互相重名B.派生类可以从多个基类继承,这就是多继承C.多继承时,不同基类必须使用相同的继承方式D.多继承时,派生类不能继承基类的构造和析构函数正确答案:C10、派生类从基类
5、A和B各继承了一个数据成员X。如需访问派生类对象Obj中从基类A继承来的成员X,下列哪种访问形式是正确的?()A.obj.xB.obj.A:xC.obj.B:xD.obj.A.x正确答案:B11、下列关于输入/输出的描述中,错误的是()oA格式化输入/输出是在二进制与十进制之间进行格式转换B.输入是将数据输入到内存变量中C.输出是将内存中的数据输出到某个输出设备D.内存中的数据是以二进制存储的正确答案:A12、下列关于输入/输出的描述中,错误的是()oAC+语言是以输入/输出流对象的形式提供输入/输出功能B.cin、ut是流类库中预定义的流对象CC+语言通过关键字cin/cout以语句的形式提
6、供输入/输出功能D.C语言以系统函数的形式提供输入/输出功能正确答案:C13、C+流类库中不包括下列哪种操作?()A标准I/OB.文件I/OC.系统函数scanfpritfD.字符串I/O正确答案:C14、下列关于流类库的描述中,错误的是()oA流类库中总共定义了3个类B.流类库是一个以类ios为基类的类族C.流类库的作用主要是为C+语言提供输入/输出功能D.流类库是C+语言的附属组成部分15、下列关于通用输入流类的描述中,错误的是()oA通用输入流类istream只提供了提取运算符“”这一种输入方法B.提取运算符是一种格式化输入方法C.流类库中,通用输入流类的类名为istreamD.通用输入
7、流类istream重载了右移运算符“”,称为提取运算符正确答案:A16、下列哪种方法不能实现换行显示?()A.coutun;B.coutendl;C.cout,;D.coutXy;执行后变量X和y的值分别为()oA.8.5,3.0B.3.0,8.5C.3,8D.0,0正确答案:B21、下列关于函数模板的描述中,错误的是()。A.函数模板通过数据类型参数化,将一组算法相同但所处理数据类型不同的重载函数凝练成一个函数模板B.函数模板不能提高函数代码的可重用性C定义函数模板以关键字template开头D.编译时,由编译器按照函数模板自动生成针对不同数据类型的重载函数定义代码正确答案:B22、已定义如
8、下函数模板:templateTmax(Tx,Ty)则编译模板函数调用语句:utmax(3.5f,6.2f);将自动生成下列哪个函数定义代码?()A.floatmax(floatx,floaty)B.shortmax(shortx,shorty).C.itmax(itx,ity).D.doublemax(doublex,doubley)正确答案:A23、下列关于类模板的描述中,错误的是()oA.类模板通过数据类型参数化,将一组功能相同但所处理数据类型不同的类凝练成一个类模板B.类模板可以提高类代码的可重用性C.编译时,由编译器按照类模板自动生成针对不同数据类型的类定义代码D.定义类模板以关键字“
9、class”开头正确答案:D24、已定义如下的类模板:templateclassABC;则下列对象定义语句中,错误的是()oA.ABCobj;B.ABCobj;C.ABCobj;D.ABCobj;正确答案:D25、已定义如下类模板:templateclassABC;则下列哪条语句是错误的?()A.classDerived:publicABCB.typedefABCDoubleABC;C.ABCobj;0,templateclassDerived:publicABC.正确答案:C26、下列关于类模板的描述中,错误的是()A.类模板禁止被继承B.类模板可以提高类代码的可重用性C.类模板可以减少源程
10、序代码量D.类模板可以被实例化正确答案:A27、下列关于C+标准库的描述中,错误的是()oA.流类库是C+标准库的组成部分BC+标准库在编写时没有采用模板技术CC+语言以标准库的形式为程序员提供了很多常用的函数和类DC+标准库扩展了C+语言的功能,使程序员可以在更高的起点上开发程序正确答案:B28、异常处理机制主要解决下列哪种错误?()A语义错误B.注释错误C.语法错误D.运行时错误正确答案:D29、C+语言中负责捕捉异常的语句是?()A.throw语句B.try子句Cif语句D.catch子句正确答案:D30、下列关于异常的描述中,错误的是()oA.异常表达式结果的数据类型被用于区分不同类型
11、的异常B.catch()形式的子句捕捉不到任何一种类型的异常C.异常表达式结果的值被用于描述异常的详细信息D.每个catch子句通常只负责捕捉并处理一种类型的异常正确答案:B31、不属于数据集合基本存储结构的是()oA.单向链表B.结构体C.数组D.双向链表正确答案:B32、与C+标准库中容器概念关联度最小的知识点是()oA.向量类VeCtOrB才空制语句C类D.数据存储33、下列定义列表对象的语句中,错误的是()oA.listx;B.listx;C.listx;D.listx;正确答案:C34、下列关于向量类vector与列表类list的描述中,错误的是()。A列表的迭代器类型是双向迭代器,而向量的迭代器类型是随机访问迭代器(可使用下标访问元素)B.向量和列表的内部存储结构相同,都是链表C.列表适合于存储需频繁添加删除的数据集合,而向量适合于存储元素总数相对固定的数据集合,即向量不适合频繁地添加删除元素D.列表中每个元素的内存空间是独立分配的,而向量是连续存储的正确答案:B35、双向迭代器不能进行下列哪种运算?()A.自减运算-B.下标运算C.指针运算*D.自增运算+正确答案:B