江南大学网络教育第二阶段练习题正确的答案是 江南大学2024年12月
考试科目:《面向对象的程序设计》第 章至第 章(总分100分) __________学习中心(教学点) 批次: 层次: 专业: 学号: 身份证号: 姓名: 得分:
一 单选题 (共9题 ,总分值9分 ,下列选项中有且仅有一个选项符合题目要求,
请在答题卡上正确填涂。)
1. 在派生类中,重定义一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和
函数的返回值( ) (1 分) A. 不同
B. 相同
C. 相容
D. 部分相同
2. ( )是可以访问类对象的私有数据成员的。 (1 分) A. 该类的对象 C. 类中的友元函数
B. 该类友元类派生的成员函数 D. 公有派生类的成员函数
3. 下面函数原型声明中,( )声明的func()为纯虚函数。 (1 分) A. void func()=0; C. virtual void func();
B. virtual void func()=0; D. virtual void func()();
4. 下列描述重载运算符的规则中,不正确的是( ) (1 分) A. 重载运算符必须符合语言语法 C. 不能改变运算符操作的类型
B. 不能创建新的运算符
D. 不能改变运算符原有的优先级
5. 在C++中,要实现动态联编,必须使用( )调用虚函数。 (1 分) A. 类名
B. 派生类指针
C. 对象名
D. 基类指针
6. 下列描述中,不正确的是( ) (1 分) A. 赋值运算符有时也需要重载
第1 页 /共 29页
B. 在重载增量或减量运算符时,若使用友元函数,则需要使用引用参数 C. 在任何情况下,重载运算符既可用友元函数,也可用成员函数
D. 若在某自定义类中重载了下标运算符“ [ ] ”,则可将该类的类对象当作一个“数组” 7. 多继承派生类析构函数释放对象时,( )最先调用。 (1 分) A. 派生类自己的析构函数 C. 根基类的析构函数
B. 基类的析构函数
D. 派生类中子对象类的析构函数
8. 关于多继承二义性的描述,( )是错误的。 (1 分)
A. 派生类的多个基类中存在同名成员时,派生类对这个成员访问可能出现二义性 B. 由于二义性原因,一个类不能从同一个类中一次以上直接继承 C. 使用作用域运算符对成员进行限定可以解决二义性
D. 派生类和它的基类中出现同名函数时,派生类对这个成员函数的访问可能出现二义性 9. 下面叙述不正确的是( ) (1 分)
A. 基类的保护成员在保护派生类中仍然是保护的 B. 基类的保护成员在公有派生类中仍然是保护的 C. 基类的保护成员在私有派生类中仍然是保护的 D. 对基类的保护成员的访问必须是无二义性的类
二 多选题 (共3题 ,总分值6分 ,下列选项中至少有2个或2个以上选项符合
题目要求,请在答题卡上正确填涂。)
10. 下面描述中,( )是正确的。 (2 分) A. 虚函数是没有实现的函数 C. 抽象类是只有纯虚函数的类
B. 纯虚函数的实现是在派生类中定义 D. 抽象类指针可以指向不同的派生类
11. 假设Myclass为抽象类,下列声明( )是错误的。 (2 分) A. Myclass& func(int); C. int func(Myclass);
12. 继承是( )的方法。 (2 分) A. 将特殊的类变成通用的类 C. 将通用的类变成特殊的类
B. 把通用的参数传送给特殊的类的对象 D. 将已有的类添加新的特性,但不重写它们 B. Myclass *pp: D. Myclass Obj;
三 判断题 (共7题 ,总分值7分 正确的填涂“A”,错误的填涂“B”。)
13. 对下标运算符“ [ ] ”,既可重载为类成员函数,可重载为友元函数。 (1 分)( )
第2 页 /共 29页
14. 无论哪种派生方式,基类中的私有成员在派生类中都是不可访问的。 (1 分)( ) 15. 一个类中的虚函数说明不仅对基类中的同名函数有影响,而且对它的派生类中重定义的函
数也有影响。 (1 分)( )
16. 如果没有为派生类指定构造函数,则派生类的对象会调用基类的构造函数。 (1 分)( ) 17. 在单继承中,派生类对象对基类成员函数的访问也可能出现二义性。 (1 分)( ) 18. 重载运算符需要的参数的个数与操作数一样多。 (1 分)( ) 19. 构造函数和析构函数都不能说明为虚函数。 (1 分)( )
四 填空题 (共10题 ,总分值20分 )
20. 在一个继承结构中,解决二义性的方法有_________________和_________________。 (2
分)
21. C++的两种继承方式为
_________________和_________________。 (2 分)
22. 运算符函数必须被重载为_________________,或被重载为_________________。 (2 分) 23. 类X中的名字N支配类Y中同名的名字N,是指类X以类Y为它的一个基类,这称为
_________________。 (2 分)
24. 从基类中公有派生一个类时,基类的公有成员就成为派生类的_________________成员,而
这个基类的保护成员就成为派生类的_________________成员。 (2 分) 25. 对于包含有纯虚函数的类称为_________________。 (2 分)
26. 在构造函数和析构函数中调用虚函数时采用_________________联编。 (2 分)
27. 重载赋值运算符时,通常返回调用该运算符的_________________,这样赋值就能进行连续。
(2 分)
28. C++支持两种多态性,静态联编所支持的多态性被称为_________________,动态联编所
支持的多态性被称为_________________。 (2 分)
29. 为了区分重载函数,把一个派生类中重定义基类的虚函数称为_________________。(2 分)
第3 页 /共 29页