news 2026/4/16 17:10:43

大学有这样几类人员:学生、教师、职员和在职读书的教师。给出这几类人员的类描述。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大学有这样几类人员:学生、教师、职员和在职读书的教师。给出这几类人员的类描述。
// 补充必要的头文件(原代码缺失) #include <iostream> #include <string> using namespace std; // 基类:人员基本信息 class Person // 类名首字母大写,符合C++命名规范 { private: int age; // 年纪 string name; // 姓名 string identity; // 身份(原shenfen,英文更易读) public: // 优化点1:string类型默认值改为空字符串"",而非NULL Person(int m_age = 0, string m_name = "", string m_identity = "") : age(m_age), name(m_name), identity(m_identity) { // 可选:增加参数合法性检查,增强健壮性 if (age < 0) age = 0; // 年龄不能为负数 } // 虚函数,为多态提供基础 virtual void show() const { cout << "信息如下:" << endl; cout << "年龄:" << age << endl; cout << "姓名:" << name << endl; cout << "身份:" << identity << endl; } }; // 派生类:学生 class Student : public Person { private: string education; // 学历(原xueli,英文更易读) public: // 优化点1:string默认值改为"" Student(int age = 0, string name = "", string identity = "", string m_education = "") : Person(age, name, identity), education(m_education) {} void show() const override // 补充override关键字,明确重写基类虚函数 { Person::show(); cout << "学历:" << education << endl; } }; // 派生类:老师 class Teacher : public Person { private: string teachingSubject; // 教学科目(原Subject,命名更清晰) public: // 优化点1:string默认值改为"",修正参数名拼写错误(原m_subjcet) Teacher(int age = 0, string name = "", string identity = "", string m_subject = "") : Person(age, name, identity), teachingSubject(m_subject) {} void show() const override { Person::show(); cout << "教学科目:" << teachingSubject << endl; } }; // 派生类:职工 class Employee : public Person { private: string workUnit; // 工作单位(原unit,命名更清晰) public: // 优化点1:string默认值改为"" Employee(int age = 0, string name = "", string identity = "", string m_unit = "") : Person(age, name, identity), workUnit(m_unit) {} void show() const override { Person::show(); cout << "工作单位:" << workUnit << endl; } }; // 派生类:在职读书的老师(原Study_Work,类名更直观) class TeacherWithStudy : public Person { private: string teachingSubject; // 教学科目(命名和Teacher类保持一致) string education; // 学历(命名和Student类保持一致) public: // 优化点1:string默认值改为"" TeacherWithStudy(int age = 0, string name = "", string identity = "", string m_subject = "", string m_education = "") : Person(age, name, identity), teachingSubject(m_subject), education(m_education) {} void show() const override { Person::show(); cout << "教学科目:" << teachingSubject << endl; cout << "学历:" << education << endl; } }; int main() { Person* p1 = nullptr, * p2 = nullptr, * p3 = nullptr, * p4 = nullptr; // 创建各派生类对象 Student st(22, "王五", "学生", "高中生"); p1 = &st; p1->show(); cout << endl; Teacher te(30, "张三", "老师", "数学"); p2 = &te; p2->show(); cout << endl; Employee em(45, "老王", "职工", "保安"); p3 = &em; p3->show(); cout << endl; TeacherWithStudy sw(26, "李四", "在职读书老师", "大学英语", "研究生"); p4 = &sw; p4->show(); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:46:46

数字图像处理篇---图像合成

核心比喻&#xff1a;图像世界的“器官移植手术” 想象你有两张照片&#xff1a; A图&#xff1a; 一个人的完美笑脸&#xff08;但背景很乱&#xff09;。 B图&#xff1a; 一片美丽的海滩风光&#xff08;但没人&#xff09;。 图像合成的目标&#xff1a;把A图的笑脸&am…

作者头像 李华
网站建设 2026/4/15 15:16:43

Highcharts 配置说明

Highcharts 配置说明 Highcharts 是一款流行的图表库,能够创建各种图表类型,从柱状图到散点图,从折线图到雷达图等。本篇文章旨在为您详细解读 Highcharts 的配置说明,帮助您快速上手并应用 Highcharts 创建各种类型的图表。 标题配置 标题结构 Highcharts 的标题配置项…

作者头像 李华
网站建设 2026/4/15 14:05:01

介绍 Elastic Workflows:用于 Elasticsearch 的原生自动化

作者&#xff1a;来自 Elastic Sumana Mannem James Spiteri 在 Elasticsearch 中原生统一脚本化自动化和 AI agents。消除集成&#xff0c;直接对你的数据采取行动。 今天&#xff0c;我们正式推出 Elastic Workflows&#xff0c;这是直接内置在 Elasticsearch 中的自动化引擎…

作者头像 李华
网站建设 2026/4/16 12:29:55

C++ 循环

C++ 循环 引言 C++作为一种高效、灵活的编程语言,广泛应用于软件开发领域。循环语句是C++中的一种基本控制结构,用于重复执行一组语句。掌握循环语句对于提高编程效率、简化代码逻辑具有重要意义。本文将详细介绍C++中的循环结构,包括循环的基本概念、类型、应用以及注意事…

作者头像 李华
网站建设 2026/4/16 10:40:14

5吨级eVTOL横空出世,中国航空技术如何实现弯道超车?

&#x1f4cc; 目录 ✈️ 中国航空炸场&#xff01;全球首款5吨级电动飞机首飞&#xff0c;老外直呼看不懂一、首飞实测封神&#xff1a;5吨“大块头”&#xff0c;灵活又能飞&#xff08;一&#xff09;核心参数拉满&#xff0c;碾压同类产品&#xff08;二&#xff09;通俗解…

作者头像 李华