面向对象程序设计:继承与派生类解析
版权申诉
190 浏览量
更新于2024-09-01
收藏 20KB DOCX 举报
"地大《面向对象程序设计(新)》在线作业二-0012"
本资源是一份关于面向对象程序设计的在线作业,适用于网络教育环境,特别是中国地质大学的相关课程。作业涵盖了面向对象编程的关键概念,如继承、访问修饰符、静态成员初始化、C++流的操作以及异常处理机制等。
1. 继承的访问修饰符:
- A选项正确:在公有继承中,基类的public成员在派生类中保持public。
- B选项错误(题目答案):实际上,基类的private成员在派生类中仍然是不可见的,而不是仍是private。
- C选项正确:基类中的protected成员在公有继承的派生类中保持protected。
- D选项正确:私有继承时,基类的public成员在派生类中变为private。
2. 派生类与基类的关系:
- A选项正确:派生类的对象可以赋值给基类的对象。
- B选项正确:派生类的对象可以初始化基类的引用。
- C选项错误(题目答案):派生类对象不能直接访问基类的私有或受保护成员,除非基类提供了访问这些成员的公共接口。
- D选项正确:派生类对象的地址可以赋给指向基类的指针。
3. 静态成员的初始化:
- 题目中的类`class Point`有一个静态成员`how_many`,正确的初始化方式是在类外部使用`int Point::`前缀,即`int Point::how_many=0;`,因此答案是C。
4. C++流操作:
- A选项错误(题目答案):`setw`操作符设置的输出宽度只对当前输出流有效,不是永久有效。
- B选项正确:`endl`操作符用于结束当前行并刷新输出缓冲区。
- C选项正确:处理文件I/O时需要包含`<fstream>`头文件。
- D选项正确:`eof()`函数用于检测是否已到达文件尾部。
5. C++异常处理:
- A选项:`try`块用于捕获异常。
- B选项:`throw`用于抛出异常。
- C选项:`catch`用于捕获和处理异常。
- D选项错误(题目答案):C++标准库中没有`finally`关键字,但可以使用`catch(...)`来处理所有类型的异常。
6. 重载操作符:
- A选项:表示一个非成员函数重载加号操作符,接受两个`AB`对象作为参数,这不是成员函数的声明。
- B选项正确:表示一个成员函数重载加号操作符,接受一个`AB`对象作为参数,返回值为`AB`对象。
- C选项:不是一个有效的成员函数声明。
- D选项:表示一个返回引用的成员函数,但这通常用于自增运算符而非加法。
7. C++流控制符的头文件:
- A选项:`endl`是一个操作符,不是头文件。
- B选项:`hex`也不是头文件,它是一个流操纵符,用于将流设置为十六进制输出模式。
- C选项:`setw`是流操纵符,用于设置输出字段宽度,其相关的头文件是`iomanip`。
- D选项:`left`是另一个流操纵符,用于左对齐输出,同样需要`iomanip`头文件。
8. 类的构造函数数量:
- 题目中的类`MyClass`只有一个带参数的构造函数,用于初始化`value`成员。其他选项中提到的默认构造函数、拷贝构造函数等在此没有显示定义,因此答案是A。
这份作业测试了学生对C++中面向对象编程基础概念的理解,包括类、继承、访问控制、流操作、异常处理以及操作符重载等关键点。
2022-06-17 上传
2024-09-03 上传
2023-06-24 上传
2023-11-17 上传
2023-11-27 上传
2023-02-24 上传
2023-05-16 上传
浩先生717
- 粉丝: 0
- 资源: 8
最新资源
- 10-days-of-statistics:使用Python(numpy)从Hackerrank练习10天的统计信息。 关联
- Comparison-of-Student-Grants-using-VBA:使用VBA的数据透视表和数据透视图报告,用于比较两所大学的助学金。 该代码是美国俄亥俄州辛辛那提大学的专有作品。 这只能用于学术目的。 复制此课程的任何部分均需获得作者的许可
- hwnd-adorner:WPF库支持由HwndHost托管的任何hwnd上的层(修饰)
- revues:解析Cairn.info日记元数据
- 算法:《剑指提供》,《程序员代码面试指南》,Leetcode等算法衔接集合。基于.net core的控制台程序,C#实现,包含每道译文的完整描述,多种解法AC代码,以及解主题算法,所有回归正确直接运行以查看输出结果。常用算法汇总中每个算法同样有测试用例,可运行
- js代码-浅拷贝和深拷贝的实现
- 个人网站ADVC58
- nano-2.1.9.tar.gz
- StyleableToast
- Nasty Armoured Tanks of War-开源
- Eatery
- ReCiter:ReCiter:用于学术机构的企业开源作者歧义消除系统
- shirayuki:最没用的Discord机器人
- nano-2.7.2.tar.gz
- java代码-任意给出一个十进制整数,将十进制整数转换为二进制数。
- image2:与其他图像一起包装图像类型