清华大学王育坚《面向对象编程》第2版:C++实例解析 CPerson与Date类

3星 · 超过75%的资源 需积分: 10 15 下载量 77 浏览量 更新于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++中的类和对象概念,以及如何在实际项目中灵活运用。