面向对象程序设计(C++)复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一选择题(共45题)
1.对类的构造函数和析构函数描述正确的是()。
A.构造函数可以重载,析构函数不能重载√
B.构造函数不能重载,析构函数可以重载
C.构造函数可以重载,析构函数也可以重载
D.构造函数不能重载,析构函数也不能重载
2.继承具有(),即当基类本身也是某一个类派生类时,底层的派生类也会自动继承间接基类的成员。
A)规律性 B.传递性√ C.重复性 D.多样性
3.假设OneClass为一个类,则该类的复制初始化构造函数的声明语句为()。
A.OneClass(OneClass p);
B. OneClass& (OneClass p );
C. OneClass(OneClass & p);√
D. OneClass (OneClass * p);
4.对于结构中定义的成员,其默认的访问权限为()。
A.public
B. protected
C.private
D. static
5.下面对静态数据成员的描述中,不正确的是()。
A.静态数据成员可以在类体内进行初始化√
B.静态数据成员不可以在类体内进行初始化
C.静态数据成员能受private控制符的作用
D.静态数据成员调用前必须初始
6. C++中的类有两种用法:一种是类的实例化,即生成类对象,并参与系统的运行;另一种是通过()派生了新的类。
A.复用
B.继承√
C.封装
D.引用
7. 假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为()。
A. x(a)
B. x[a]
C. x->a
D. x.a √
9. 对于一个类的构造函数,其函数名与类名( )。
A. 完全相同√
B. 基本相同
C. 不相同
D. 无关系
10. 一个类的构造函数通常被定义为该类的( )成员。
A. 公有√
B. 保护
C. 私有
D. 友元
11. 一个类的析构函数通常被定义为该类的( )成员。
A. 私有
B. 保护
C. 公有√
D. 友元
12. 一个类的静态数据成员所表示属性 ( )。
A. 是类的或对象的属性
B. 只是对象的属性
C. 只是类的属性√
D. 类和友元的属性
13.类的析构函数的作用是()。
A.一般成员函数 B.类的初始化 C.对象初始化D.删除对象之前的善后工作√14.下列对基类和派生类关系的描述中,错误的是()。
A.派生类是基类的具体化B.派生类是基类的子集√
C.派生类是基类定义的延续 D.派生类是基类的组合
15.下列对派生类的描述中,错误的是()。
A.一个派生类可以作为另一个派生类的基类 B.派生类至少有一个基类
C.派生类的缺省继承方式是private D.派生类只继承了基类的公有成员和保护成员√
16.下列对继承的描述中,错误的是()。
A.析构函数不能被继承
B.派生类也是基类的组合
C.派生类的成员除了它自己的成员外,还包含了它的基类的成员
D.派生类中继承的基类成员的访问权限到派生类保持不变√
17.派生类的对象对它的基类成员中()是可以访问的。
A.公有继承的公有成员√ B.公有继承的私有成员
C.公有继承的保护成员 D.私有继承的公有成员
18.下列说法错误的是()。
A.公有继承的基类中的public成员在派生类中仍是public的
B.公有继承的基类中的private成员在派生类中仍是private的√
C.私有继承的基类中的public成员在派生类中仍是private的
D.保护继承的基类中的public成员在派生类中仍是protected的
19.下面叙述错误的是()。
A.基类的protected成员在派生类中仍然是protected√
B.基类的protected成员在public派生类中仍然是protected的
C.基类的protected成员在private派生类中是private的
D.基类的protected成员不能被派生类的对象访问
20.设置虚基类的声明中,正确的是()。
A.简化程序
B.消除二义性√
C.提高运行效率
D.减少目标代码
21.关于虚函数的描述中,正确的是()。
A.虚函数是一个静态成员函数
B.虚函数是一个非成员函数
C.虚函数即可以在函数说明定义,也可以在函数实现时定义
D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型√
22.下列描述中,()是抽象类的特征。
A.可以说明虚函数B.可以进行构造函数重载
C.可以定义友元函数D.不能说明其对象√
23. 静态数据成员的初始化是在()中进行的。
A. 构造函数
B. 任何成员函数
C. 所属类
D. 全局区√
24. 当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f()能够直接访问类B的()。
A. 只能是公有成员
B. 只能是保护成员
C. 只能是除私有成员之外的任何成员
D. 具有任何权限的成员√
25. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。
A. 作为友元函数重载的1元运算符
B. 作为成员函数重载的1元运算符√
C. 作为友元函数重载的2元运算符
D. 作为成员函数重载的2元运算符
26. 关于运算符重载,下列说法正确的是()。
A. 重载时,运算符的优先级可以改变。
B. 重载时,运算符的结合性可以改变。
C. 重载时,运算符的功能可以改变。√
D. 重载时,运算符的操作数个数可以改变。