面向对象程序设计:继承与派生类解析
版权申诉
14 浏览量
更新于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++中面向对象编程基础概念的理解,包括类、继承、访问控制、流操作、异常处理以及操作符重载等关键点。
浩先生717
- 粉丝: 0
- 资源: 8
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍