|
(单选题) 1: 以下关于函数模板叙述正确的是
A: 函数模板也是一个具体类型的函数
B: 函数模板的类型参数与函数的参数是同一个概念
C: 通过使用不同的类型参数,函数模板可以生成不同类型的函数
D: 用函数模板定义的函数没有类型
(单选题) 2: 下列有关继承和派生的叙述中,正确的是()
A: 派生类不能访问基类的保护成员
B: 作为虚基类的类不能被实例化
C: 派生类应当向基类的构造函数传递参数
D: 虚函数必须在派生类中重新实现
(单选题) 3: 在文件包含命令中,被包含文件的扩展名
A: 必须是.h
B: 不能是.h
C: 可以是.h或.cpp
D: 必须是.cpp
(单选题) 4: 下列有关运算符重载的叙述中,正确的是()
A: 运算符重载是多态性的一种表现
B: C++中可以通过运算符重载创造新的运算符
C: C++中所有运算符都可以作为非成员函数重载
D: 重载运算符时可以改变其结合性
(单选题) 5: 下面()不是抽象类的特征
A: 可以说明纯虚函数
B: 不能说明抽象类的对象
C: 用作基类,提供公用的接口
D: 可以定义虚构造函数
(单选题) 6: 要使语句"p=new int[10][20]"正确,p应事先定义为
A: int*p
B: int**p
C: int*p[20]
D: int(*p)[20]
(单选题) 7: 以下哪个关键字对应的属性破坏了程序的封装性()
A: const
B: friend
C: public
D: protected
(单选题) 8: 一个类的构造函数通常被定义为该类的( )成员
A: 公用
B: 保护
C: 私有
D: 友元
(单选题) 9: 以下不合法的数值常量是()
A: 011
B: lel
C: 8.0E0.5
D: 0xabcd
(单选题) 10: 对于一个类的构造函数,其函数名与类名
A: 完全相同
B: 基本相同
C: 不相同
D: 无关系
(单选题) 11: 已知 Value 是一个类,Value 是 Value 的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是()
A: Valueoperator+(Valuev,inti)
B: Valueoperator+(Valuev=value,inti)
C: Valueoperator+(Valuev,inti=0)
D: Valueoperator+(Valuev=value,inti=0)
(单选题) 12: 以下程序中,错误的行是 ①#include<iostream. h> ②class A ③{ ④ public: ⑤ int n=2: ⑥ A( int val){cout<<val<<endl;} ⑦ ~A(){}; ⑧}; ⑨void main() ⑩{ ⑩ A a(0); ⑩}()
A: ⑤
B: ⑥
C: ⑦
D: ⑩
(单选题) 13: 解决二义性问题的方法有
A: 只能使用作用域分辨操作符
B: 使用作用域分辨操作符或赋值兼容规则
C: 使用作用域分辨操作符或虚基类
D: 使用虚基类或赋值兼容规则
(多选题) 1: 编写自己的头文件时,一般包含以下内容()
A: 头文件开头处的文件信息声明
B: 预处理语句块
C: 函数和类结构声明
D: 函数和类结构定义
,B,C
(多选题) 2: C++将内存划分为三个逻辑区域,分别为:()
A: 栈
B: 队列
C: 堆
D: 静态存储区
,C,D
(判断题) 1: 继承可以使得对象以外的部分不能随意存取对象的内部数据,从而实现信息隐藏。
A: 错误
B: 正确
(判断题) 2: 在类体内实现的成员函数也是内联函数。
A: 错误
B: 正确
(判断题) 3: 在C++语言中,函数重载是通过静态联编实现的。
A: 错误
B: 正确
(判断题) 4: 继承可以使得一个类可以直接获得另一个类的性质和特征。
A: 错误
B: 正确
(判断题) 5: 当使用基类或内层类的带参数的构造函数来完成基类成员或对象成员的初始化时,有时候不需要定义派生类的构造函数。
A: 错误
B: 正确
(判断题) 6: 在C++中虚函数帮助实现了类的多态性
A: 错误
B: 正确
(判断题) 7: 程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量
A: 错误
B: 正确
(判断题) 8: 当将一个类S 定义为零一个类A 的友元类时,类S的所有成员函数都可以直接访问类A 的所有成员
A: 错误
B: 正确
(判断题) 9: 虚函数由成员函数调用或通过指针,引用来访问。
A: 错误
B: 正确
(判断题) 10: 没有返回值或者返回值为空是一回事。
A: 错误
B: 正确
|
|