清华大学王育坚《面向对象编程》第2版:C++实例解析 CPerson与Date类
3星 · 超过75%的资源 需积分: 10 139 浏览量
更新于2024-07-24
收藏 323KB DOC 举报
本篇文档是面向对象编程教程的第2版,由清华大学王育坚教授所著,主要针对C++语言进行讲解。章节内容涉及到了面向对象编程中的类定义与操作,包括类的私有成员变量和公共成员函数的使用。
在第3章的课后习题中,首先介绍了如何定义一个名为`CPerson`的类,它包含了四个属性:姓名(`char Name[10]`)、身份证号(`char ID[20]`)、性别(`char Sex[4]`)和年龄(`int Age`)。为了处理这些属性,作者提供了类的构造函数`CPerson(char* na, char* id, char* se, int ag)`,用于初始化姓名、身份证、性别和年龄。此外,还定义了一个名为`Show()`的公共方法,用于显示个人的基本信息。
接着,第3-45题要求设计一个名为`Date`的日期类,用于表示日期值,包括年(`int year`)、月(`int month`)和日(`int day`),并提供必要的成员函数来设置和获取日期。类内定义了`bool flag`用于标识输入日期是否有效。`date()`构造函数接受年、月、日作为参数,如果输入合理则初始化日期,否则`flag`置为`true`表示无效。`setdate()`函数用于设置日期,用户可以通过此函数输入年月日,而`getyear()`, `getmonth()`, 和 `getday()` 分别用于获取日期的各个部分。为了实现日期的增加一天的功能,`addday()`方法被定义,最后,`show()`函数用于展示当前日期。
在`main()`函数中,实例化了一个`CPerson`对象并调用了`Show()`方法,展示了一个人的基本信息。同样地,一个`Date`对象被创建,并通过`setdate()`函数设置了初始日期,然后调用`show()`显示出来。通过这两个示例,读者可以学习到如何在C++中使用面向对象编程来组织数据和行为。
这部分内容涵盖了类的定义、构造函数、成员函数以及日期类的设计和操作,对于理解面向对象编程的封装、继承和多态性原则具有实践指导意义。通过解决这些问题,学生将能更好地掌握C++中的类和对象概念,以及如何在实际项目中灵活运用。
2023-03-04 上传
2023-03-04 上传
2021-11-08 上传
2008-09-12 上传
2021-10-22 上传
call_me_zc
- 粉丝: 1
- 资源: 2
最新资源
- 毕业设计&课设--个人QT毕业设计项目 校园商铺.zip
- zharf:ZHARF项目
- lotus-openrpc-client:从OpenRPC定义生成的Typescript中的Lotus API客户端
- Excel模板客户信息登记表.zip
- system:简易易用的精简和快速的微型PHP系统库
- devrioclaro.github.io:DevRioClaro 没有 GitHub
- streams:应用程序可在体内传输清晰的视频。 Hecha en React con Redux
- automata.js:一个用于创建元胞自动机JavaScript库
- angular-course:使用angular的简单应用
- 毕业设计&课设--大学毕业设计,远程控制工具集,包含远程命令行,远程文件管理,远程桌面,已停止维护。.zip
- RMarkdown:分配
- 沙盒无服务器vpc-elasticearch
- Generative-Design-Systems-with-P5js:随附一系列视频的代码
- Data_analysis:使用JFreeChart库的Java数据分析程序
- Excel模板每日体温测量记录表.zip
- coppa:电晕进步和积极强化应用程序