大学有这样几类人员:学生、教师、职员和在职读书的教师。给出这几类人员的类描述。
// 补充必要的头文件原代码缺失 #include iostream #include string using namespace std; // 基类人员基本信息 class Person // 类名首字母大写符合C命名规范 { private: int age; // 年纪 string name; // 姓名 string identity; // 身份原shenfen英文更易读 public: // 优化点1string类型默认值改为空字符串而非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: // 优化点1string默认值改为 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: // 优化点1string默认值改为修正参数名拼写错误原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: // 优化点1string默认值改为 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: // 优化点1string默认值改为 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; }

相关新闻

【悬臂梁挠度问题】基于PINN物理信息神经网络计算一维悬臂梁挠度问题附Python代码

【悬臂梁挠度问题】基于PINN物理信息神经网络计算一维悬臂梁挠度问题附Python代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 🍊个人信条:格物致知,完整Matlab代码及仿真…

2026/7/5 22:52:04 阅读更多 →
【修正-高斯拉普拉斯滤波器-用于平滑和去噪】基于修正高斯滤波拉普拉斯地震到达时间自动检测研究附Matlab代码

【修正-高斯拉普拉斯滤波器-用于平滑和去噪】基于修正高斯滤波拉普拉斯地震到达时间自动检测研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…

2026/5/17 2:30:17 阅读更多 →
数字图像处理篇---颜色空间

数字图像处理篇---颜色空间

核心比喻:颜色的“语言和度量衡”想象一下,你要告诉远方的朋友“天空的颜色”。用词语描述:你说“天蓝色”。但每个人心中的“天蓝”可能略有不同,不精确。用标准色卡比对:你拿出潘通色卡,说“编号 15-4020…

2026/5/17 2:30:16 阅读更多 →

最新新闻

如何用Kotlin Multiplatform实现Android与iOS应用代码共享:Fruitties实战指南

如何用Kotlin Multiplatform实现Android与iOS应用代码共享:Fruitties实战指南

如何用Kotlin Multiplatform实现Android与iOS应用代码共享:Fruitties实战指南 【免费下载链接】kotlin-multiplatform-samples Samples showcasing the Kotlin Multiplatform Jetpack libraries 项目地址: https://gitcode.com/GitHub_Trending/ko/kotlin-multipl…

2026/7/6 19:12:49 阅读更多 →
EasyContext内存优化秘籍:DeepSpeed Zero3卸载策略详解

EasyContext内存优化秘籍:DeepSpeed Zero3卸载策略详解

EasyContext内存优化秘籍:DeepSpeed Zero3卸载策略详解 【免费下载链接】EasyContext Memory optimization and training recipes to extrapolate language models context length to 1 million tokens, with minimal hardware. 项目地址: https://gitcode.com/gh…

2026/7/6 19:12:49 阅读更多 →
UE4SS:解锁虚幻引擎游戏无限可能的终极修改工具指南

UE4SS:解锁虚幻引擎游戏无限可能的终极修改工具指南

UE4SS:解锁虚幻引擎游戏无限可能的终极修改工具指南 【免费下载链接】RE-UE4SS Injectable LUA scripting system, SDK generator, live property editor and other dumping utilities for UE4/5 games 项目地址: https://gitcode.com/gh_mirrors/re/RE-UE4SS …

2026/7/6 19:08:46 阅读更多 →
如何安装和配置EnergyBar:10分钟快速上手教程

如何安装和配置EnergyBar:10分钟快速上手教程

如何安装和配置EnergyBar:10分钟快速上手教程 【免费下载链接】EnergyBar Supercharge your Macs Touch Bar. 项目地址: https://gitcode.com/gh_mirrors/en/EnergyBar 想要快速上手EnergyBar,让你的Mac Touch Bar变得更强大吗?Energy…

2026/7/6 19:08:46 阅读更多 →
如何快速入门Encog:5个简单步骤构建你的第一个神经网络

如何快速入门Encog:5个简单步骤构建你的第一个神经网络

如何快速入门Encog:5个简单步骤构建你的第一个神经网络 【免费下载链接】encog-java-core 项目地址: https://gitcode.com/gh_mirrors/en/encog-java-core Encog是一个强大的Java机器学习框架,专为构建和训练神经网络而设计。无论你是机器学习新…

2026/7/6 19:08:46 阅读更多 →
Linkora开发指南:如何为这款KMP应用贡献代码和新功能

Linkora开发指南:如何为这款KMP应用贡献代码和新功能

Linkora开发指南:如何为这款KMP应用贡献代码和新功能 【免费下载链接】Linkora Local-first multiplatform link organizer with optional self-hosted sync. 项目地址: https://gitcode.com/gh_mirrors/li/Linkora Linkora是一款基于Kotlin Multiplatform&a…

2026/7/6 19:06:45 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻