请写出满足以下要求的完整代码,在课后题12.2(创建一个Employee类,该类中有字符数组,表示姓名、街道地址、市、省和邮政编码。把表示构造函数、ChangeName()、Display()的函数原型放在类定义中,构造函数初始化每个成员,Display()函数把完整的对象数据打印出来。其中的数据成员是保护的,函数是公共的。)的基础上: 将姓名构成类Name,其名和姓在该类中为保护数据成员,其构造函数为接收一个指向完整姓名字符串的指针,其Display()函数输出姓名。然后将Employee类中的姓名成员(字符数组)换成Name类对象。 将所有原型化的函数加上成员函数定义,作为类的内部实现文件。 构成完整的类库定义,要求类定义与类的成员函数定义分开。 主函数实现用户信息显示。 int main(){ Employee em("Mark Brooks","5 West St.","Revere","CA","12290"); em.Display(); em.ChangeName("Richard Voss"); em.Display(); }

时间: 2023-05-18 09:02:41 浏览: 37
以下是满足要求的完整代码: // Employee.h #ifndef EMPLOYEE_H #define EMPLOYEE_H #include <iostream> #include <cstring> class Name { protected: std::string firstName; std::string lastName; public: Name(const char* fullName); void Display() const; }; class Employee { protected: Name name; std::string streetAddress; std::string city; std::string state; std::string zipCode; public: Employee(const char* fullName, const char* street, const char* city, const char* state, const char* zip); void ChangeName(const char* fullName); void Display() const; }; #endif // Employee.cpp #include "Employee.h" Name::Name(const char* fullName) { std::string nameStr(fullName); size_t spacePos = nameStr.find(' '); firstName = nameStr.substr(0, spacePos); lastName = nameStr.substr(spacePos + 1); } void Name::Display() const { std::cout << firstName << " " << lastName << std::endl; } Employee::Employee(const char* fullName, const char* street, const char* city, const char* state, const char* zip) : name(fullName), streetAddress(street), city(city), state(state), zipCode(zip) {} void Employee::ChangeName(const char* fullName) { name = Name(fullName); } void Employee::Display() const { std::cout << "Name: "; name.Display(); std::cout << "Street Address: " << streetAddress << std::endl; std::cout << "City: " << city << std::endl; std::cout << "State: " << state << std::endl; std::cout << "Zip Code: " << zipCode << std::endl; } // main.cpp #include "Employee.h" int main() { Employee em("Mark Brooks", "5 West St.", "Revere", "CA", "12290"); em.Display(); em.ChangeName("Richard Voss"); em.Display(); return 0; }

相关推荐

最新推荐

recommend-type

RAC环境打补丁步骤12.2.0.1.docx

GRID操作 备份OPatch原始版本(双节点操作) Grid目录下Opatch [root@VM-GSMOMDB05 grid]# cd /u01/app/12.2.0/grid [root@VM-GSMOMDB05 grid]# mv OPatch OPatch_0527_bak 注意: 使用root用户备份,grid用户目录...
recommend-type

PostgreSQL 12.2安装与使用

PostgreSQL 12.2安装与使用,非常适合初学PostgreSQL的朋友下载学习,内容非常详细的
recommend-type

中文翻译Introduction to Linear Algebra, 5th Edition 7.3节

本节阐述 SVD 在统计学与数据分析中的一个主要应用。我们的示例将来源于人类遗传、面部识别 及金融。问题在于理解一个大的数据矩阵(= 测量值) 。对 n 个样本的每一个,我们测量 m 个变量。数 据矩阵 A 0 具有 n 列...
recommend-type

Oracle GoldenGate Veridata 12.2.1.4安装配置使用全手册.docx

Oracle Goldengate Veridata安装配置使用手册,包含安装各个细节,以及agent安装,以及使用配置等等方面。
recommend-type

windows环境下新版12.2postgreSQL的安装+初始化配置+启动

一、安装 1.下载PostgreSQL的二进制安装文件。 PostgreSQL官网–&gt;Download–&gt;Windows 64位,如图所示: (1)下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads 原创文章 8获赞 10...
recommend-type

RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz

REALTEK 8188FTV 8188eus 8188etv linux驱动程序稳定版本, 支持AP,STA 以及AP+STA 共存模式。 稳定支持linux4.0以上内核。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

Redis验证与连接:快速连接Redis服务器指南

![Redis验证与连接:快速连接Redis服务器指南](https://img-blog.csdnimg.cn/20200905155530592.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNTg5NTEw,size_16,color_FFFFFF,t_70) # 1. Redis验证与连接概述 Redis是一个开源的、内存中的数据结构存储系统,它使用键值对来存储数据。为了确保数据的安全和完整性,Redis提供了多
recommend-type

gunicorn -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker app:app 报错 ModuleNotFoundError: No module named 'geventwebsocket' ]

这个报错是因为在你的环境中没有安装 `geventwebsocket` 模块,可以使用下面的命令来安装: ``` pip install gevent-websocket ``` 安装完成后再次运行 `gunicorn -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker app:app` 就不会出现这个报错了。
recommend-type

c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf

校园超市商品信息管理系统课程设计旨在帮助学生深入理解程序设计的基础知识,同时锻炼他们的实际操作能力。通过设计和实现一个校园超市商品信息管理系统,学生掌握了如何利用计算机科学与技术知识解决实际问题的能力。在课程设计过程中,学生需要对超市商品和销售员的关系进行有效管理,使系统功能更全面、实用,从而提高用户体验和便利性。 学生在课程设计过程中展现了积极的学习态度和纪律,没有缺勤情况,演示过程流畅且作品具有很强的使用价值。设计报告完整详细,展现了对问题的深入思考和解决能力。在答辩环节中,学生能够自信地回答问题,展示出扎实的专业知识和逻辑思维能力。教师对学生的表现予以肯定,认为学生在课程设计中表现出色,值得称赞。 整个课程设计过程包括平时成绩、报告成绩和演示与答辩成绩三个部分,其中平时表现占比20%,报告成绩占比40%,演示与答辩成绩占比40%。通过这三个部分的综合评定,最终为学生总成绩提供参考。总评分以百分制计算,全面评估学生在课程设计中的各项表现,最终为学生提供综合评价和反馈意见。 通过校园超市商品信息管理系统课程设计,学生不仅提升了对程序设计基础知识的理解与应用能力,同时也增强了团队协作和沟通能力。这一过程旨在培养学生综合运用技术解决问题的能力,为其未来的专业发展打下坚实基础。学生在进行校园超市商品信息管理系统课程设计过程中,不仅获得了理论知识的提升,同时也锻炼了实践能力和创新思维,为其未来的职业发展奠定了坚实基础。 校园超市商品信息管理系统课程设计的目的在于促进学生对程序设计基础知识的深入理解与掌握,同时培养学生解决实际问题的能力。通过对系统功能和用户需求的全面考量,学生设计了一个实用、高效的校园超市商品信息管理系统,为用户提供了更便捷、更高效的管理和使用体验。 综上所述,校园超市商品信息管理系统课程设计是一项旨在提升学生综合能力和实践技能的重要教学活动。通过此次设计,学生不仅深化了对程序设计基础知识的理解,还培养了解决实际问题的能力和团队合作精神。这一过程将为学生未来的专业发展提供坚实基础,使其在实际工作中能够胜任更多挑战。