答题时间:120分钟
答题设备:计算机学院机房电脑,不可以用个人PC
一、选择题
1、下列不是描述类的成员函数的是(C)
A.构造函数 B.析构函数 C.友元函数 D.拷贝构造函数
2、(D)不是构造函数的特征。
A.构造函数的函数名与类名相同
B.构造函数可以重载
C.构造函数可以设置默认参数
D.构造函数必须指定类型说明
3、对基类和派生类的关系描述中,错误的是(B)。
A、派生类是基类的具体化
B、基类继承了派生类的属性
C、派生类是基类定义的延续
D、派生类是基类的特殊化
4、类MyA的拷贝初始化构造函数是(B)
A. MyA(MyA) B. MyA(const MyA &) C. MyA(MyA*) D. MyA()
5、如果从原有类定义新类可以实现的是(D)
A、信息隐藏 B、数据封装 C、数据抽象 D、继承机制
6、一个类可以同时继承多个类,称为多继承。下列关于多个继承和虚基类的表述中,错误的是(C)
A.每个派生类的构造函数都要为虚基类构造函数提供实参
B.多继承时有可能出现对基类成员访问的二义性问题
C.使用虚基数类可以解决二义性问题并实现运行时的多态性(是虚函数)
D. 建立派生类对象时,虚基数的构造函数会首先被调用
7、假定AB为一个类,则执行AB a(2), b[3],p[4];语句时调用该类构造函数的次数为(B)。
A. 3
B. 4
C. 5
D. 9
9、在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的(A)。
A.私有成员 B.公有成员 C.保护成员 D.保护成员或私有成员
10、关于对象概念的描述中,说法错误的是(A)
A.对象就是C++语言中的结构变量
B.对象代表着正在创建的系统中的一个实体
C.对象是类的一个变量
D.对象之间的信息传递是通过消息
11、(B)
12、类的构造函数被自动调用执行的情况发生在定义该类的(C)时。
A.成员函数 B.数据成员 C.对象 D.友元函数
13、在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限(B)
A. 受限制 B. 保持不变 C. 受保护 D. 不受保护
14、关于 new运算符的下列描述中,(D)是错误的。
A 它可以用来动态创建对象和对象数组
B 使用它创建的对象或对象数组可以使用运算符 delete删除
C 使用它创建对象时要调用构造函数
D 使用它创建对象数组时必须指定初始值
15、
16、下面有关类说法不正确的是(C)
A. 一个类可以有多个构造函数
B. 一个类只有一个析构函数
C. 析构函数需要指定参数
D. 在一个类中可以说明具有类类型的数据成员
17、假定一个类的构造函数为A(int aa,int bb) {a=aa–;b=abb;},则执行A x(4,5);语句后x.a和x.b的值分别为(C)。
A. 3和15 B. 5和4 C. 4和20 D.20和5
18、下列不能作为类的成员的是(B)
A.自身类对象的指针 B.自身类对象 C.自身类对象的引用 D.另一个类的对象
19、已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给m赋值为5, (C)是正确的。
A. A1.p=5 B. A1->p=5 C. A1.*p=5 D. *A1.p=5
20、下列关于this指针的叙述中,正确的是(D)
A.任何与类相关的函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.类的非静态成员函数才有this指针
二、判断题
三、编程题
略,(其实是作业平台上的原题,一共三道题)
有需要word版本的朋友,可以关注博主后台私信 或加QQ:2122961493免费领取。



