C/C++测试题
面向对象
选择题:
C++概述
1、以下C++新增的关键字为 。
A break
B continue
C stuct
D inline
//答案:D
2、面向对象程序设计将数据与______放在一起,作为相互依存、不可分割的整体来处理。
A对数据的操作 B信息 C数据隐藏 D数据抽象
//答案:A
3、面向对象程序设计优于传统的结构化程序设计,其优越性主要表现在,它有希望解决软件工程的两个主要问题:软件复杂性和______。
A 软件生产率的提高 B 精化已有的代码 C 共享代码 D 编写可重用代码
//答案:A
4、面向对象系统的______是一种信息隐藏技术,目的在与将对象的使用者与设计者分开,使用者不必知道对象行为实现的细节,只需用设计者提供的协议命令对象去做即可。
A多态性 B封装性 C继承性 D复用性
//答案:B
5、______不是面向对象系统所包含的要素
A重载 B对象 C类 D继承
//答案:A
6、关于C++与C语言的关系的描述中,______是错误的。
A C语言是C++的一个子集 B C++与C语言是兼容的
C C++对C语言进行了一些改进 D C++与C语言都是面向对象的
//答案:D
7、下面关于对象概念的表述中,______是错误的。
A 对象就是C语言中的结构变量
B 对象代表着正在创建的系统中的一个实体
C 对象是一个状态和操作(或方法)的封装体
D 对象之间的信息传递是通过信息进行的
//答案:A
8、下面关于类概念的表述中,______是错误的。
A 类是抽象数据类型的实现 B 类是具有共同行为的若干对象的统一描述体
C 类是创建对象的样板 D 类就是C语言中的结构类型
//答案:D
9、下列关于C++类的描述中错误的是______。
A 类与类之间可以通过一些手段进行通信和联络
B 类用于描述事物的属性和对事物的操作
C 类与类之间必须是平等关系,而不能组成层次关系
D 类与类之间可以通过封装而具有明确的独立性
//答案:C
10、下列关键字中,_______既在C语言中使用,又在C++语言中使用
A inline B break C private D public
//答案:B
11、C++对C语言做了很多改进。下列描述中______使得C语言发生了质变,即从面向过程变成了面向对象
A增加了一些新的运算符 B允许函数重载,并允许设置默认参数
C规定函数说明必须用原型 D引进了类和对象的概念
//答案:D
12、下列C++标点符号中表示行注释开始的是______。
A # B ; C // D }
//答案:C
13、下列关于C++与C语言关系的描述中错误的是______。
A C++是C语言的超集 B C++对C语言进行了扩充
C C++|与C语言都是面向对象的程序设计语言 D C++包含C语言的全部语法
//答案:C
14、下列正确的选项是______________。
A 继承是创建一个具有另一个类的属性和行为的新类的能力
B C语言支持面向对象的程序设计
C 空白符是一种可以被编译的符号
D 标识符不宜太长,一般设定为16个字符
//答案:A
15、下列关于多态说法错误的是_________。
A 不同的对象调用相同名称的函数,并可导致完全不同的行为的现象称为多态性
B C++语言中多态性通过使用封装技术来支持
C 多态是面向对象程序设计的一个重要机制
D 多态是人类思维方式的一种模拟
//答案:B
类和对象
16、以下类的说明,请指出错误的地方________。
Class CSample
{
int a = 2; (A)
CSample(); (B)
Public:
CSample(int val); (C)
~CSample(); (D)
}
//答案:A
17、有关类的说法不正确的是________。
A 类是一种用户自定义的数据类型
B 只有类中的成员函数才能存取类中的私有数据
C 在类中,如果不做特别说明,所有的数据类型均为私有类型
D 在类中,如果不做特别说明,所有的成员函数均为公有类型
//答案:D
18、有关类和对象的说法下列不正确的有________。
A 对象是类的一个实例 B 任何一个对象只能属于一个具体的类
C 一个类只能有一个对象 D 类与对象的关系和数据类型和变量的关系
//答案:C
19、关于类和对象,以下叙述正确的是______
A 一个类的成员函数可以任意调用
B 通常,只有通过具体的对象,才能访问类的成员函数
C 对象是模板,类是实例
D 类和对象间没有任何关系
//答案:B
20、有关构造函数的说法不正确的是________。
A 构造函数名字和类的名字一样 B 构造函数在说明类变量时自动执行
C 构造函数无任何函数类型 D 构造函数有且只有一个
//答案:D
21、有关析构函数的说法不正确的是________。
A 析构函数有且只有一个
B 析构函数无任何函数类型
C 析构函数和构造函数一样可以有形参
D 析构函数的作用是在对象被撤销时收回先前分配的内存空间
//答案:C
22、在类的定义体外定义成员函数时,需要在函数名前加上________。
A 类标记 B 类域标记 C 类对象 D 域运算符
//答案:B
23、在类的定义形式中,数据成员、成员函数和_______组成了类定义体。
A 成员的访问控制消息 B 公有消息 C 私有消息 D 保护消息
//答案:A
24、________的功能使对对象进行初始化。
A 析构函数 B 数据成员 C 构造函数 D 静态成员函数
//答案:C
25、若Q是类,a是它的一个对象,p1是类对象a的一个指针,那么类对象a可以通过①_______来访问类的成员,类对象a的指针p1可以通过②_______来访问类的成员。
A :: B . C ; D ->
//答案:①B ②D
26、下列的各类函数中,_________不是类的成员函数
A 构造函数B 析构函数 C 友元函数 D 拷贝初始化构造函数
//答案:C
27、通常拷贝初始化构造函数的参数是__________。
A 某个对象名 B 某个对象的成员名 C 某个对象的引用名 D 某个对象的指针名
//答案:C
28、类模板的使用实际上是将类模板实例化成一个具体的_______。
A 类 B 对象 C 函数 D 模板类
//答案:A
指向类成员函数的指针
29、模板是实现类属机制的一种工具,其功能非常强大,它既允许用户构造类属函数,既① _______;也允许用户构造类属类,即② ________。
A 函数模板 B模板函数 C 类模板 D 模板类
//答案: ①B ②D
30、关于对象的this指针,以下叙述正确的是______
A 必须显式地在类定义中声明this数据成员,才能使用this指针
B 一旦生成一个对象,该对象的this指针就指向该对象本身
C 一个类的所有对象的this指针的值都是相同的
D 不能通过对象的this指针访问对象的数据成员和成员函数
//答案:B
31、关于new运算符的下列描述中, 是错误的。
A 它可以用来动态创建对象和对象数组
B 使用它创建的对象或对象数组,可以使用运算符delete删除
C 使用它创建对象时要调用构造函数
D 使用它创建对象数组时必须指定初始值
//答案:D
32、关于delete运算符的下列描述中, 是错误的。
A 它必须用于new返回的指针
B 它也适用于空指针
C 对一个指针可以使用多次该运算符
D 指针名前只用一对方括号,不管所删除数组的维数
//答案:C
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论