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