C++选择题填空题.docx

上传人:b****8 文档编号:10448624 上传时间:2023-02-11 格式:DOCX 页数:19 大小:21.96KB
下载 相关 举报
C++选择题填空题.docx_第1页
第1页 / 共19页
C++选择题填空题.docx_第2页
第2页 / 共19页
C++选择题填空题.docx_第3页
第3页 / 共19页
C++选择题填空题.docx_第4页
第4页 / 共19页
C++选择题填空题.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C++选择题填空题.docx

《C++选择题填空题.docx》由会员分享,可在线阅读,更多相关《C++选择题填空题.docx(19页珍藏版)》请在冰豆网上搜索。

C++选择题填空题.docx

C++选择题填空题

一、填空题

1、在类中必须声明成员函数的(),成员函数的()部分可以写在类外。

[答案]原型实现

2、如果需要在被调函数运行期间,改变主调函数中实参变量的值,则函数的形参应该是()类型或()类型。

[答案]引用指针

3、()类只能作为基类使用,而不能声明它的对象。

[答案]抽象

4、拷贝构造函数的形参必须是()

[答案]本类对象的引用

5、进行函数重载时,被重载的同名函数如果都没有用const修饰,则它们的形参()或()必须不同。

[答案]个数类型

6、通过一个()对象只能调用它的常成员函数,不能调用其他成员函数。

[答案]常

二、选择题

1、编译时多态性使用什么获得?

(A)

A.重载函数

B.继承

C.虚函数

D.B和C

2、假定MyClass为一个类,则该类的拷贝构造函数的声明语句为(C)。

A.MyClass(MyClassx)

B.MyClass&(MyClassx)

C.MyClass(MyClass&x)

D.MyClass(MyClass*x)

3、列带缺省值参数的函数说明中,正确的说明是(C)

1.?

A.intFun(intx=1,inty,intz=3);

B.intFun(intx,inty=2,intz);

C.intFun(intx,inty,intz=3);

D.intFun(intx=1,inty,intz);

4、下列有关函数重载的叙述中,错误的是(A)

A.函数重载就是用相同的函数名定义多个函数

B.重载函数的参数列表必须不同

C.函数的返回值类型不能用于对重载函数的区分

D.const关键字可以用于对重载函数的区分

5、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用(A)。

A.内联函数

B.重载函数

C.递归调用

D.嵌套调用

6、下列有关C++类的说法中,不正确的是(C)。

A.类是一种用户自定义的数据类型

B.只有类中的成员函数或类的友元函数才能存取类中的私有成员

C.在类中,如果不做特别说明,所有成员的访问权限均为私有的

D.在类中,如果不做特别说明,所有成员的访问权限均为公用的

7、Sample是一个类,执行下面语句后,执行Sample类的构造函数的次数是(D)Samplea[3],*p=newSample;

A.1

B.2

C.3

D.4

8、关于常数据成员的说法,不正确的是(D)。

A.常数据成员的定义形式与一般常变量的定义形式相同,只不过常数据成员的定义必须出现在类体中

B.常数据成员必须进行初始化,并且不能被更新

C.常数据成员通过构造函数的成员初始化列表进行初始化

D.常数据成员可以在定义时直接初始化

9、下面描述中,表达错误的是(B)

A.公用继承时基类中的public成员在派生类中仍是public的

B.公用继承时基类中的private成员在派生类中仍是private的

C.公用继承时基类中的protected成员在派生类中仍是protected的

D.私有继承时基类中的public成员在派生类中是private的

10、下面(B)的叙述不符合赋值兼容规则。

A.派生类的对象可以赋值给基类的对象

B.基类的对象可以赋值给派生类的对象

C.派生类的对象可以初始化基类的对象

D.派生类的对象的地址可以赋值给指向基类的指针

11、关于虚函数的描述中,(C)是正确的。

A.虚函数是一个static类型的成员函数

B.虚函数是一个非成员函数

C.基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数

D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型

12、下面关于友元的描述中,错误的是(D)。

A.友元函数可以访问该类的私有数据成员

B.一个类的友元类中的成员函数都是这个类的友元函数

C.友元可以提高程序的运行效率

D.类与类之间的友元关系可以继承

13、下列关于静态数据成员的说法,不正确的是(C)。

A.类中定义的公用静态数据成员,可以通过类的对象来访问

B.类中定义的所有静态数据成员,都必须在类外初始化

C.静态数据成员不是所有对象所共用的

D.普通的成员函数可以直接访问类中的静态数据成员

14、下列关于模板形参的描述中,错误的是(B)

A.模板形参表必须在关键字template之后

B.模板形参表必须用括弧()括起来  

C.可以用class修饰模板形参

D.可以用typename修饰模板形参

15、任意一个类,析构函数的个数最多是:

(B)

A.不限个数

B.1

C.2

D.3

16、下列有关类继承的叙述中,错误的是(D)

A.继承可以实现软件复用

B.虚基类可以解决由多继承产生的二义性问题

C.派生类构造函数要负责调用基类的构造函数

D.派生类没有继承基类的私有成员

17、下列有关抽象类和纯虚函数的叙述中,错误的是(D)

A.拥有纯虚函数的类是抽象类,不能用来定义对象

B.抽象类的派生类若不实现纯虚函数,它也是抽象类

C.纯虚函数的声明以“=0;”结束

D.虚函数都不能有函数体

18、考虑下面的函数原型声明:

voidtestDefaulParam(inta,intb=7,charz='*');下面函数调用中,不合法的是(C)。

A.testDefaulParam(5);

testDefaulParam(5,8);

C.testDefaulParam(5,'#');

testDefaulParam(0,0,'*');

19、要实现动态联编必须(D)

通过成员名限定来调用虚函数

B.通过对象名来调用虚函数

C.通过派生类对象来调用虚函数

D.通过对象指针或引用来调用虚函数

20、下列语句中,将函数intsum(intx,inty)正确重载的是(C)。

A.floatsum(intx,inty);

B.intsum(inta,intb);

C.floatsum(floatx,floaty);

D.doublesum(inty,intx);

21、在派生类中定义虚函数时,可以与基类中相应的虚函数不同的是(D)

A.参数类型

B.参数个数

C.函数名称

D.函数体

22、下列有关类成员的叙述中,正确的是(B)

A.友元函数是类的成员函数

B.类成员的默认访问权限是私有的

C.类成员函数必须声明为公有的

D.类的静态数据成员不能是常成员

23、已知:

print()函数是一个类的常成员函数,它无返回值,下列表示中,(A)是正确的。

A.voidprint()const;

B.constvoidprint();

C.voidconstprint();

D.voidprint(const);

24、运用运算符delete删除一个动态对象时(C)。

A.系统首先为该动态对象调用构造函数,再释放其占用的内存

B.系统首先释放该动态对象占用的内存,再为其调用构造函数

C.系统首先为该动态对象调用析构函数,再释放其占用的内存

D.系统首先释放动态对象占用的内存,再为其调用析构函数

25、可以在类外用p.a的形式访问派生类对象p的基类成员a,其中a是(D)。

A.私有继承的公用成员

B.公用继承的私有成员

C.公用继承的保护成员

D.公用继承的公用成员

26、在公用继承方式下,有关派生类对象和基类对象的关系,不正确的叙述是(C)。

A.派生类的对象可以赋给基类的对象

B.派生类的对象可以初始化基类的引用

C.派生类的对象可以直接访问基类中的成员

D.派生类的对象的地址可以赋给指向基类的指针

27、模板的使用实际上是将类模板实例化成一个(C)。

A.函数

B.对象

C.类

D.抽象类

28、拷贝构造函数的参数通常是(C)。

A.无特殊要求

B.指向对象的指针

C.自已类对象的常引用

D.对象

29、下面关于类的成员函数描述不正确的是:

(A)

A静态成员函数内可以直接访问类的非静态成员数据

B静态成员函数内可以直接访问类的静态成员数据

C非静态成员函数可以直接访问类的非静态成员数据

D非静态成员函数可以直接访问类的静态成员数据

30、说明内联函数的关键字是(A)。

A.inline

B.virtual

C.define

D.static

31、下面的哪个保留字不能作为函数的返回类型?

(C)

A.void

B.int

C.new

D.long

32、基类和派生类可以分别称为(B)。

A.“大类”和“小类”

B.“父类”和“子类”

C.“小类”和“大类”

D.“子类”和“父类”

33、面向对象程序设计思想的主要特征中不包括(D)。

A.封装性

B.多态性

C.继承性

D.功能分解,逐步求精

34、设置虚基类的目的是(B)。

A.简化程序

B.消除二义性

C.提高运行效率

D.减少目标代码

35、下面说法中,正确的是(B)

A.一个类只能定义一个构造函数,但可以定义多个析构函数

B.一个类只能定义一个析构函数,但可以定义多个构造函数

C.构造函数与析构函数同名,只要名字前加了一个求反符号(~)

D.构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以

36、如果一个类至少有一个纯虚函数,那么就称该类为(A)。

A.抽象类

B.派生类

C.纯基类

D.以上都不对

37、下面关于友元的描述中,错误的是(D)。

A.友元函数可以访问该类的私有数据成员

B.一个类的友元类中的成员函数都是这个类的友元函数

C.友元可以提高程序的运行效率

D.类与类之间的友元关系可以继承

38、假定Cab为一个类,则执行Cabobj;语句时将自动调用该类的(B)

A.有参构造函数

B.无参构造函数

C.拷贝构造函数

D.赋值重载函数

39、下面对模板的声明,正确的是(C)。

A.template

B.template

C.template

D.template

40、在C++程序中,对象之间的相互通信通过(B)

A.继承实现

B.调用成员函数实现

C.封装实现

D.函数重载实现

41、下面选项哪个不是多态性的体现(B)

A.重载函数

B.继承

C.虚函数

D.运算符重载

42、下面描述中,表达错误的是(B)

A.公用继承时基类中的public成员在派生类中仍是public的

B.公用继承时基类中的private成员在派生类中仍是private的

C.公用继承时基类中的protected成员在派生类中仍是protected的

D.私有继承时基类中的public成员在派生类中是private的

43、在派生类中定义虚函数时,可以与基类中相应的虚函数不同的是(D)

A.参数类型

B.参数个数

C.函数名称

D.函数体

44、已知Cab类,则当程序执行到语句:

Cabarray[2];时,调用了(C)次构造函数。

A.0

B.1

C.2

D.3

45、

46、编写C++程序一般需经过的几个步骤依次是(B)

A.编辑、调试、编译、连接

B.编辑、编译、连接、运行

C.编译、调试、编辑、连接

D.编译、编辑、连接、运行

47、决定C++语言中函数的返回值类型的是(D)

A.return语句中的表达式类型

B.调用该函数时系统随机产生的类型

C.调用该函数时的主调用函数类型

D.在定义该函数时所指定的数据类型

48、下面叙述不正确的是(D)

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

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

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

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

49、所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是(A)

A.类

B.对象

C.函数体

D.数据块

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

A.私有成员

B.公有成员

C.保护成员

D.保护成员或私有成员

51、对基类和派生类的关系描述中,错误的是(B)

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

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

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

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

52、关于this指针使用说法正确的是(A)

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

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

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

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

53、所谓多态性是指(B)

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

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

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

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

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

A.内联函数

B.重载函数

C.递归函数

D.嵌套函数

55、假设ClassY:

publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为(A)

A.X,Y;Y,X

B.X,Y;X,Y

C.Y,X;X,Y

D.Y,X;Y,X

56、适宜采用inline定义函数情况是(C)

A.函数体含有循环语句

B.函数体含有递归语句

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

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

57、假定一个类的构造函数为A(intaa,intbb){a=aa--;b=a*bb;},则执行Ax(4,5);语句后,x.a和x.b的值分别为(C)

A.3和15

B.5和4

C.4和20

D.20和5

58、在类中说明的成员可以使用关键字的是(A)

A.public

B.extern

C.cpu

D.register

59、下列不能作为类的成员的是(B)

A.自身类对象的指针

B.自身类对象

C.自身类对象的引用

D.另一个类的对象

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

A.实参是形参的备份

B.实参与形参无联系

C.形参是实参的备份

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

61、在C++中,使用流进行输入输出,其中用于屏幕输入(A)

A.cin

B.cerr

C.cout

D.clog

62、假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为(B)

A.x.a

B.x.a()

C.x->a

D.(*x).a()

63、关于对象概念的描述中,说法错误的是(A)

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

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

C.对象是类的一个变量

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

64、静态成员函数没有(B)

A.返回值

B.this指针

C.指针参数

D.返回类型

65、假定AB为一个类,则执行“ABa

(2),b[3],*p[4];”语句时调用该类构造函数的次数为(B)

A.3

B.4

C.5

D.9

66、有关多态性说法不正确的是(C)

A.C++语言的多态性分为编译时的多态性和运行时的多态性

B.编译时的多态性可通过函数重载实现

C.运行时的多态性可通过模板和虚函数实现

D.实现运行时多态性的机制称为动态多态性

67、假定一个类的构造函数为“A(inti=4,intj=0){a=i;b=j;}”,则执行“Ax

(1);”语句后,x.a和x.b的值分别为(A)

A.1和0

B.1和4

C.4和0

D.4和1

68、类MyA的拷贝初始化构造函数是(C)

A.MyA()

B.MyA(MyA*)

C.MyA(MyA&)

D.MyA(MyA)

69、在C++中,函数原型不能标识(D)

A.函数的返回类型

B.函数参数的个数

C.函数参数类型

D.函数的功能

70、友元关系不能(D)

A.提高程序的运行效率

B.是类与类的关系

C.是一个类的成员函数与另一个类的关系

D.继承

71、实现两个相同类型数加法的函数模板的声明是(D)

A.add(Tx,Ty)

B.Tadd(x,y)

C.Tadd(Tx,y)

D.Tadd(Tx,Ty)

72、在inta=3,int*p=&a;中,*p的值是(D)

A.变量a的地址值

B.无意义

C.变量p的地址值

D.3

73、下列不是描述类的成员函数的是(C)

A.构造函数

B.析构函数

C.友元函数

D.拷贝构造函数

74、如果从原有类定义新类可以实现的是(C)

A.信息隐藏

B.数据封装

C.继承机制

D.数据抽象

75、下面有关类说法不正确的是(C)

A.一个类可以有多个构造函数

B.一个类只有一个析构函数

C.析构函数需要指定参数

D.在一个类中可以说明具有类类型的数据成员

76、下列有关重载函数的说法中正确的是(C)

A.重载函数必须具有不同的返回值类型

B.重载函数参数个数必须相同

C.重载函数必须有不同的形参列表

D.重载函数名可以不同

77、下列有关重载函数的说法中正确的是(C)

A.重载函数必须具有不同的返回值类型

B.重载函数参数个数必须相同

C.重载函数必须有不同的形参列表

D.重载函数名可以不同

78、this指针存在的目的是(C)

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

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

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

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

79、关于new运算符的下列描述中,错误的是(D)

A.它可以用来动态创建对象和对象数组

B.使用它创建的对象或对象数组可以使用运算符delete删除

C.使用它创建对象时要调用构造函数

D.使用它创建对象数组时必须指定初始值

80、已知:

p是一个指向类A数据成员m的指针,A1是类A的一个对象。

如果要给m赋值为5,正确的是(C)

A.A1.p=5;

B.A1->p=5;

C.A1.*p=5;

D.*A1.p=5;

81、以下基类中的成员函数表示纯虚函数的是(A)

A.virtualvoidtt()=0

B.voidtt(int)=0

C.virtualvoidtt(int)

D.virtualvoidtt(int){}

82、C++类体系中,不能被派生类继承的有(B)

A.常成员函数

B.构造函数

C.虚函数

D.静态成员函数

83、静态成员函数不能说明为(C)

A.整型函数

B.浮点函数

C.虚函数

D.字符型函数

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

当前位置:首页 > 外语学习 > 日语学习

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

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