|
(单选题) 1: 类的构造函数是在定义该类的一个( )时被自动调用执行的
A: 成员函数
B: 数据成员
C: 对象
D: 友元函数
(单选题) 2: 假定一个类AB只含有一个整型数据成员a,用户为该类定义的带参构造函数可以为
A: AB(){}
B: AB():a(0){}
C: AB(intaa==0){a=aa}
D: AB(intaa){}
(单选题) 3: 假定类B是在类A基础上扩充而得到的,那么就称
A: 类A为基类或父类,类B为超类或子类
B: 类A为基类、父类或超类,类B为派生类或子类
C: 类A为派生类,类B为基类
D: 类A为派生类或子类,类B为基类、父类或超类
(单选题) 4: 软件产品可被全部或部分重用于新的应用能力叫做软件的
A: 可维护性
B: 可复用性
C: 兼容性
D: 正确性
(单选题) 5: 若有以下程序 main() {int y=10; while(y- -); printf("y=%d\n"y); } 程序运行后的输出结果是()
A: y=0
B: y=-1
C: y=1
D: while构成无限循环
(单选题) 6: 下列关于多态性的描述,错误的是
A: C++语言的多态性分为编译时的多态性和运行时的多态性
B: 编译时的多态性可通过函数重载实现
C: 运行时的多态性可通过模板和虚函数实现
D: 实现运行时多态性的机制称为动态绑定
(单选题) 7: 以下有关继承正确的是
A: 构造函数和析构函数都能被继承
B: 派生类是基类的组合
C: 派生类对象除了能访问自己的成员外,不能访问基类中的所有成员
D: 基类的公有成员一定能被派生类对象访问
(单选题) 8: 对于公有继承,基类中的私有成员在派生类中将
A: 能够直接使用成员名访问
B: 能够通过成员运算符访问
C: 仍然是基类的私有成员
D: 变为派生类的私有成员
(单选题) 9: 下面运算符中,不能被重载的运算符是
A: <=
B: -
C: ?:
D: []
(单选题) 10: 以下关于函数模板叙述正确的是
A: 函数模板也是一个具体类型的函数
B: 函数模板的类型参数与函数的参数是同一个概念
C: 通过使用不同的类型参数,函数模板可以生成不同类型的函数
D: 用函数模板定义的函数没有类型
(单选题) 11: ()不是面向对象系统包含的要素
A: 多态
B: 对象
C: 类
D: 继承
(单选题) 12: 设有以下定义和语句 char str[20]="Program",*p; p=str; 则以下叙述中正确的是()
A: *p与str[0]中的值相等
B: str与p的类型完全相同
C: str数组长度和p所指向的字符串长度相等
D: 数组str中存放的内容和指针变量p中存放的内容相同
(单选题) 13: 在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是()
A: 派生类的对象可以赋给基类的对象
B: 派生类的对象可以初始化基类的引用
C: 派生类的对象可以直接访问基类中的成员
D: 派生类的对象的地址可以赋给指向基类的指针
(多选题) 1: 编写自己的头文件时,一般包含以下内容()
A: 头文件开头处的文件信息声明
B: 预处理语句块
C: 函数和类结构声明
D: 函数和类结构定义
,B,C
(多选题) 2: 重载运算符不能改变原运算符的()。
A: 操作数个数
B: 原有优先级
C: 结合特性
D: 操作方式
,B,C,D
(判断题) 1: 在C++中,允许用变量对数组进行初始化。
A: 错误
B: 正确
(判断题) 2: 一个变量,可以声明无穷多次,但却只能定义一次。
A: 错误
B: 正确
(判断题) 3: 编译时多态性通过重载函数实现
A: 错误
B: 正确
(判断题) 4: 用virtual声明的函数为虚函数
A: 错误
B: 正确
(判断题) 5: 继承可以使得一个类可以直接获得另一个类的性质和特征。
A: 错误
B: 正确
(判断题) 6: C++使用new和delete时需要包含头文件<malloc.h>。
A: 错误
B: 正确
(判断题) 7: 数据成员在初始化列表中的书写顺序无关紧要,但初始化列表对数据成员初始化的执行次序就是类中定义数据成员的次序。
A: 错误
B: 正确
(判断题) 8: 如果定义了不带初始值的类的实例,却没有显式的定义不带参数的默认构造函数,编译时程序就会报错。
A: 错误
B: 正确
(判断题) 9: 如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性
A: 错误
B: 正确
(判断题) 10: 多态可以增加软件系统的灵活性,减少信息冗余,提高软件的可重用性和扩展性。
A: 错误
B: 正确
|
|