完整word版C++试题及答案一推荐文档Word文档下载推荐.docx

上传人:b****4 文档编号:14347933 上传时间:2022-10-22 格式:DOCX 页数:23 大小:24.92KB
下载 相关 举报
完整word版C++试题及答案一推荐文档Word文档下载推荐.docx_第1页
第1页 / 共23页
完整word版C++试题及答案一推荐文档Word文档下载推荐.docx_第2页
第2页 / 共23页
完整word版C++试题及答案一推荐文档Word文档下载推荐.docx_第3页
第3页 / 共23页
完整word版C++试题及答案一推荐文档Word文档下载推荐.docx_第4页
第4页 / 共23页
完整word版C++试题及答案一推荐文档Word文档下载推荐.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

完整word版C++试题及答案一推荐文档Word文档下载推荐.docx

《完整word版C++试题及答案一推荐文档Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《完整word版C++试题及答案一推荐文档Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。

完整word版C++试题及答案一推荐文档Word文档下载推荐.docx

成函数的定义时的返回类型。

3.下面叙述不正确的是()

A.派生类一般都用公有派生

B.对基类成员的访问必须是无二义性的

C.赋值兼容规则也适用于多重继承的组合

D.基类的公有成员在派生类中仍然是公有的

继承方式有三种:

公有、私有和保护。

多继承中,多个基类具有同名成员,在它们

的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。

赋值兼容规则是指

派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。

基类中的

公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。

4.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体

也就是()

A.类

B.对象

C.函数体

D.数据块

A

类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。

5.在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中

的()

A.私有成员

B.公有成员

C.保护成员

D.保护成员或私有成员

在派生类中基类的保护或者基类公有都可以直接访问,基类的私有成员只能是基类

的成员函数来访问。

所以选择A项。

6.对基类和派生类的关系描述中,错误的是()

A.派生类是基类的具体化

B.基类继承了派生类的属性

C.派生类是基类定义的延续

D.派生类是基类的特殊化

派生类的成员一个是来自基类,一个来自本身,所以派生类是基类的扩展,也是基

类的具体化和特殊化,派生类是对基类扩展。

B项基类不能继承派生类成员,所以错误。

7.关于this指针使用说法正确的是()

A.保证每个对象拥有自己的数据成员,但共享处理这些数据的代码

B.保证基类私有成员在子类中可以被访问。

C.保证基类保护成员在子类中可以被访问。

D.保证基类公有成员在子类中可以被访问。

this指针是隐藏的,可以使用该指针来访问调用对象中的数据。

基类的成员在派生

类中能否访问,与继承方式有关,与this没有关系。

8.所谓多态性是指()

A.不同的对象调用不同名称的函数

B.不同的对象调用相同名称的函数

C.一个对象调用不同名称的函数

D.一个对象调用不同名称的对象

多态性有两种静态多态性和动态多态性,静态多态性是指调用同名函数,由于参数

的不同调用不同的同名函数;

动态多态性是指不同对象调用同名函数时,由于对象不同调用不同

的同名函数。

多态性肯定具有相同的函数名,所以选择B项。

9.一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()

A.内联函数

B.重载函数

C.递归函数

D.嵌套函数

内联函数特征代码少,频繁调用,执行效率高。

重载函数解决统一接口的问题;

归是子程序调用,程序调用要耗费很多空间和时间,循环/迭代都比递归有效率得多,递归只是

从形式上,逻辑比较简洁。

嵌套函数即反复调用,速度较慢。

10.下面函数模板定义中不正确的是()

A.A

B.B

C.C

D.D

A项中F是一个返回Q类型的值,而return中用返回类型作为返回值错误。

所以选择

A项。

11.假设ClassY:

publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时

,调用构造函数和析构函数的次序分别为()

A.X,Y;

Y,X

B.X,Y;

X,Y

C.Y,X;

D.Y,X;

派生类构造函数必须对这三类成员进行初始化,其执行顺序:

调用基类构造函数

调用子对象的构造函数;

派生类的构造函数体。

析构函数在执行过程中也要对基类和成员对象

进行操作,但它的执行过程与构造函数正好相反,即对派生类新增普通成员进行清理;

调用成员

对象析构函数,对派生类新增的成员对象进行清理;

调用基类析构函数,对基类进行清理,所以

选择A项。

12.适宜采用inline定义函数情况是()

A.函数体含有循环语句

B.函数体含有递归语句

C.函数代码少、频繁调用

D.函数代码多、不常调用

C

内联函数具有程序代码少、频繁调用和执行效率高的特征,所以选择C项。

13.假定一个类的构造函数为A(intaa,intbb){a=aa--;

b=a*bb;

},则执行Ax(4,5);

语句后

,x.a和x.b的值分别为()

A.3和15

B.5和4

C.4和20

D.20和5

a=4,因为后减,b的值与a、bb相关,b=4*5=20,而与aa没有任何关系。

14.在类中说明的成员可以使用关键字的是()

A.public

B.extern

C.cpu

D.register

extern用于声明外部变量的。

register声明寄存器类型变量。

无cpu类型。

它们都不能声

明类成员。

public声明为公有访问权限,所以选择A项。

15.下列不能作为类的成员的是()

A.自身类对象的指针

B.自身类对象

C.自身类对象的引用

D.另一个类的对象

类的定义,如果有自身类对象,使得循环定义,B项错误。

在类中具有自身类的指针,可

以实现链表的操作,当然也可以使用对象的引用。

类中可以有另一个类的对象,即成员对象。

以选择B选项。

16.使用地址作为实参传给形参,下列说法正确的是()

A.实参是形参的备份

B.实参与形参无联系

C.形参是实参的备份

D.实参与形参是同一对象

地址作为实参,表示实参与形参代表同一个对象。

如果实参是数值,形参也是普通

变量,此时形参是实参的备份。

所以选择D项。

17.下列程序的输出结果是()

#include<

iostream.h>

voidmain()

{intn[][3]={10,20,30,40,50,60};

int(*p)[3];

p=n;

cout<

<

p[0][0]<

"

,"

*(p[0]+1)<

(*p)[2]<

endl;

}

A.10,30,50

B.10,20,30

C.20,40,60

D.10,30,60

如果数组元素都是相同类型的指针,则称这个数组为指针数组。

指针数组一般用于处理二

维数组。

声明的格式为:

数据类型>

(*变量名)>

[元素个数]>

p表示指向数组n的行指针。

如果将指针的初始化(*p)[3]=b;

地址的等价形式:

p+ip[i]*(p+i)都表示b数组第i+1行的第1个元素的首地址。

*(p+i)+jp[i]+j&

p[i][j]都表示b数组第i+1行、第j+1列元素的地址。

值的等价形式:

*(*(p+i)+j)*(p[i]+j)p[i][j]都表示b数组第i+1、第j+1列元素的值。

所以题目分别访问p[0][0],p[0][1],p[0][2]。

18.在C++中,使用流进行输入输出,其中用于屏幕输入()

A.cin

B.cerr

C.cout

D.clog

(1)标准输入流cin:

istream类的对象。

(2)标准输出流cout:

ostream类的对象。

(3)非缓冲型标准出错流cerr:

(4)缓冲型标准出错流clog:

ostream类的对象

19.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数

成员a()的格式为()

A.x.a

B.x.a()

C.x->

a

D.(*x).a()

对象访问成员的方式为:

对象名.成员。

指针可以有两种:

(*对象指针).成员或者对

象指针->

成员。

A选项是访问数据成员,B项是访问成员函数。

20.关于对象概念的描述中,说法错误的是()

A.对象就是C语言中的结构变量

B.对象代表着正在创建的系统中的一个实体

C.对象是类的一个变量

D.对象之间的信息传递是通过消息进行的

A对象在C++中才有,包括数据和操作两项,而C中的变量只有数据,没有操作。

以A项错误。

二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案

错填、不填均无分。

1.C++的流库预定义了4个流,它们是cin、cout、clog和___。

(P193)cerr

[解析]cin、cout、clog和cerr分别用于标准输入、输出、标准错误流(缓冲)和标准错误流

(非缓冲)。

2.每个对象都是所属类的一个___。

实例

[解析]类是对象的抽象,对象是类的一个实例。

3.在已经定义了整型指针ip后,为了得到一个包括10个整数的数组并由ip所指向,应使用语

句___。

int*ip=newint[10];

[解析]new用来动态开辟空间。

常用来产生动态数组及对象构造函数。

4.函数模板中紧随template之后尖括号内的类型参数都要冠以保留字___。

class

[解析]类模板的使用。

template<

classT>

也可以引入多参数的如:

T1,classT2,...,classTn>

5.定义类的动态对象数组时,系统只能够自动调用该类的___构造函数对其进行初始化。

无参

[解析]使用new创建对象数组,调用无参构造函数。

6.表达式cout<

end1还可表示为___。

‘\n’

[解析]endl与字符常量‘\n’等价。

7.在C++中,访问一个指针所指向的对象的成员所用的指向运算符是___。

->

[解析]指针使用成员有两种方法:

“->

”指向运算符和“.”成员访问运算符。

8.假如一个类的名称为MyClass,使用这个类的一个对象初始化该类的另一个对象时,可以调

用___构造函数来完成此功能。

复制或拷贝

复制或拷贝构造函数就是用对象初始化新的对象。

9.对赋值运算符进行重载时,应声明为___函数。

(P183)类成员

[解析]运算符重载的方法有友元或者成员函数两种途径,但是赋值运算符只能使用成员

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1