C++编程:构建类层次结构并显示对象信息

需积分: 10 3 下载量 87 浏览量 更新于2024-09-18 收藏 104KB DOC 举报
"根据类层次编写C++程序,涉及对象的定义、初始化、输入与输出。程序包括person、teacher、student三个类,其中teacher和student分别继承自person类,同时存在一个stu类,用于存储学生地址和电话信息。" 在C++编程中,类层次结构是一种组织对象和数据的方式,它通过继承机制来创建类之间的层次关系。在这个例子中,我们看到三个类:person、teacher和student。person是基类,teacher和student是派生类,它们都继承了person类的一些特性。 1. **person类**:这是最基础的类,包含两个数据成员`name`(姓名)和`id`(身份证号)。它有两个公开的构造函数,一个无参构造函数和一个带参数的构造函数,用于初始化name和id。此外,还有一个`print()`函数,用于打印person对象的姓名和身份证号。 2. **teacher类**:teacher类继承自person类,并添加了两个新的数据成员`degree`(学位)和`dep`(部门)。它的构造函数除了接受name和id外,还接收degree和dep,调用基类的构造函数进行初始化。另外,它有一个`print1()`函数,除了调用基类的`print()`打印基本个人信息,还会打印学位和部门。 3. **student类**:student类同样继承自person类,增加数据成员`number`(学号)和`age`(年龄)。构造函数接收name、id、number和age,调用基类构造函数初始化name和id,然后初始化自身的数据成员。`print2()`函数打印出所有个人信息,包括学号和年龄。 4. **stu类**:这个类没有继承任何类,包含`addr`(地址)和`tel`(电话)两个数据成员。它的构造函数用于初始化这两个属性,并有一个`print3()`函数来打印地址和电话信息。 为了实现题目描述的功能,你需要创建一个score对象c1和一个teacher对象t1,输入并显示它们的数据成员。这可以通过调用相应的构造函数和print方法完成。例如,你可以创建一个score对象,输入和打印它的学号和年龄;然后创建一个teacher对象,输入并打印其学位和部门,同时也能打印出作为person的姓名和身份证号。 这是一个典型的面向对象编程示例,展示了如何利用继承来复用代码和扩展功能。通过这样的设计,可以方便地管理和操作不同类型的人员信息,同时保持代码的整洁和模块化。