江南大学网络教育第二阶段江南大学练习题答案 共三个阶段,这是其中一个阶段,答案在最后。
考试科目:《面向对象的程序设计》第 章至第 章(总分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. 赋值运算符有时也需要重载
第29 页 /共 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 分)( )
第29 页 /共 29页