一.单选题(共19题,76分)
1.(单选题)
假定AB为一个类,则执行“AB a(2), b[3],p[4];”语句时调用该类构造函数的次数为()
A.3
B.4
C.5
D.9
我的答案:B
正确答案; B
4分
答案解析:a(2)调用1次带参数的构造函数,b[3]调用3次无参数的构造函数,指针没有给它分
配空间,没有调用构造函数。所以共调用构造函数的次数为4。
2.(单选题)
下列有关重载函数的说法中正确的是
A.重载函数必须具有不同的返回值类型
B.重载函数参数个数必须相同
C.重载函数必须有不同的形参列表
D.重载函数名可以不同
我的答案:C
正确答案:C
4分
3.(单选题)在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()
A.私有成员
B.公有成员C.保护成员
D.保护成员或私有成员
我的答案:A
正确答案:A
√
4分
答案解析:在派生类中基类的保护或者基类公有都可以直接访问,基类的私有成员只能由基类的
成员函数来访问。
4.(单选题)
假定一个类的构造函数为A(int aa, int bb){a=aa–;b=abb;}, 则执行A x(4,5);语句后,x. a和x.b的值分别为()
A.3和15
B.5和4
C.4和20D.20和5
我的答案:C
正确答案:C
4分
答案解析:a=4,因为后减,b的值与a、bb相关,b=4*5=20,而与aa没有任何关系。
5.(单选题)
在int a=3, int sp=&a;中,*p的值是(
A.
变量a的地址值
B.无意义
C.变量p的地址值
D.3
我的答案:D
正确答案:D
4分
6.(单选题)编写C++程序一般需经过的几个步骤依次是(
A
编辑、调试、编译、连接
B.编辑、编译、连接、运行
C.编译、调试、编辑、连接
D.编译、编辑、连接、运行
我的答案:A
正确答案:B
x
0分
答案解析:经过编辑、编译、连接和运行四个步骤。编辑是将C++源程序输入计算机的过程,保
存文件名为cpp。编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为obj,由于没有得到系统分配的绝对地址,还不能直接运行。连接是将目标文件obj转换为可执行程序的过程,结果为exe。运行是执行exe,在屏幕上显示结果的过程。
7.(单选题)
静态成员函数没有(
A.
返回值
B.
this指针C.
指针参数
D.返回类型
我的答案: B
正确答案:B
4分
8.(单选题)关于this指针使用说法正确的是(
A.保证每个对象拥有自己的数据成员,但共享处理这些数据的代码
B.保证基类私有成员在子类中可以被访问。
C.保证基类保护成员在子类中可以被访问。D.保证基类公有成员在子类中可以被访问。
我的答案: B
正确答案:A
x
0分
答案解析:this指针是隐藏的,可以使用该指针来访问调用对象中的数据。基类的成员在派生类
中能否访问,与继承方式有关,与this没有关系。
9.(单选题)要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为)
A.const char *p =“ABCD”;
B.char *const p =“ABCD”;C.char const p =“ABCD”;
D.const char * const p = “ABCD”;
我的答案:D
正确答案:D
4分
10.(单选题)类MyA的拷贝初始化构造函数是()
A. MyA()
B. MyA (MyA)
C.MyA (MyA&)
D. MyA(MyA)
我的答案:C
正确答案:C
4分
答案解析:解析:(P80)复制即拷贝构造函数使用对象的引用(或常引用)作形参,防止临时产
生一个对象,A无参构造函数,B是指针作为形参,D项是对象,所以选择C项。
11.(单选题)假定一个类的构造函数为“A(int i=4, int j=0) (a=i;b=j.)”,则执行“A x (1);”语句后,x.a和x. b的值分别为()
A.1和0
B.1和4C.4和0D.4和1
我的答案:A
正确答案:A
√
4分
答案解析:带默认的构造函数,对应实参没有值时就采用形参值。调用构造函数时,i=1,不采用
默认值,而只有一个参数,j采用默认值0即j=0,因此a=1,b=0,选择A项。
12.(单选题)
若Sample类中的一个成员函数说明如下:void set (Sample& a);
则Sample& a的含义是(OA.指向类Sample的名为a的指针
B.a是类Sample的对象引用,用来作函数Set的形参
C.将a的地址赋给变量Set
D.变量Sample与a按位与的结果作为函数Set的参数
我的答案:B正确答案: B
4分
13.(单选题)一个函数功能不太复杂,但要求被频繁调用,则应把它定义为)
A.
内联函数
B.重载函数C.递归函数D.嵌套函数
我的答案:A正确答案:A
4分
答案解析:内联函数特征代码少,频繁调用,执行效率高。重载函数解决统一接口的问题;递归
是子程序调用,程序调用要耗费很多空间和时间,循环/迭代都比递归有效率得多,递归只是从形式上,逻辑比较简洁。嵌套函数即反复调用,速度较慢,
14.(单选题)下面有关类说法不正确的是()
A.一个类可以有多个构造函数
B.一个类只有一个析构函数C.析构函数需要指定参数
D.在一个类中可以说明具有类类型的数据成员
我的答案:C
正确答案:C
4分
15.(单选题)在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限()
A.受限制
B.保持不变C.受保护D.不可访问
我的答案:B正确答案: B
4分
16.(单选题)下列选项不是类的成员函数的是(
A.构造函数
B.析构函数C.友元函数D.铂贝构造函数
我的答案:C
正确答案:C
4分
17.(单选题)C++语言建立类族是通过(
A.类的嵌套
B.类的继承C.虚函数D.抽象类
我的答案:B正确答案:B
4分
18.(单选题)
决定C++语言中函数的返回值类型的是(
A.return语句中的表达式类型
B.调用该函数时系统随机产生的类型
C.调用该函数时的主调用函数类型
D.在定义该函数时所指定的数据类型
我的答案:D
正确答案: D
4分
答案解析:函数的返回值类型由定义函数时的指定的数据类型决定的。A项的表达式的值要转换
成函数的定义时的返回类型。
19.(单选题)在函数定义中的形参属于()
A.全局变量
B.局部变量C.静态变量D.寄存器变量
我的答案:B
正确答案: B
√
4分
二.填空题(共5题,20分)
20.(填空题)
在面向对象的程序设计中,将一组对象的共同特性抽象出来形成__。
我的答案:
4分
(1)类
√
正确答案:
(1)类
答案解析:类是相似特征的对象的抽象,对象是类的一个实例。
21.(填空题)
假如一个类的名称为MyClass,使用这个类的一个对象初始化该类的另一个对象时,可以调用
构造函数来完成此功
能。
我的答案:
4分
(1)拷贝
√
正确答案:
(1)复制;拷贝
答案解析:复制或铂贝构造函数就是用对象初始化新的对象。
22.(填空题)
单目运算符(不含后置自增/自减运算符)作为类成员函数重载时,形参个数为__个。
作业详情
我的答案:
4分
(1)0
v
一.单选题(76分)
正确答案:
(1)0
答案解析:[解析〕单目运算符使用成员函数重载可以不用形参,双目运算符使用一个参数。
10
11
12
13
14
15
16
17
18
19
23.(填空题)
定义类动态对象数组时,元素只能靠自动调用该类的_-_构造函数来进行初始化。
二.填空题(20分)
我的答案:
4分
23
24
(1)无参
√
正确答案:
三.判断题(4分)
(1)无参
答案解析:使用new创建动态对象数组,不能有参数,所以只能调用无参的构造函数,初始化
25
对象。
24.(填空题)
下面代码中有错误的是第___行代码:
1
class A {
2
public:
3
A(int aa) ma(aa)}
4
int ma;
5
} ;
我的答案:
4分
(1)3
√
正确答案:
(1) 3
三.判断题(共1题,4分)
25.(判断题)在C++中,只能使用成员函数重载的运算符有:=、0、[]、->
A.对
B.错
我的答案:对
正确答案:对
4分