第十一周上机实践项目2——职员有薪水了(2)
来源:互联网 发布:deepin ubuntu 编辑:程序博客网 时间:2024/06/01 09:46
(2)字符串除了用C++扩充的string类型外,按C语言的传统,还可以用char 表示。请将类声明中的string全部改为char 后,重新写一遍程序(此时的区别是,类中有指针成员,构造和析构函数需要考虑深复制的问题了。)
代码
#include <iostream>#include <cstring>using namespace std;class CPerson{protected: char* m_szName; char* m_szId; int m_nSex;//0:women,1:man int m_nAge;public: CPerson(char* name,char* id,int sex,int age); void Show1(); ~CPerson();};CPerson::CPerson(char* name,char* id,int sex,int age){ m_szName=new char[strlen(name)+1]; strcpy(m_szName,name); m_szId=new char[strlen(id)+1]; strcpy(m_szId,id); m_nSex=sex; m_nAge=age;}void CPerson::Show1(){ cout<<"姓名:"<<m_szName<<endl; cout<<"ID:"<<m_szId<<endl; cout<<"性别:"; if(m_nSex==0) cout<<"女"; else cout<<"男"; cout<<endl; cout<<"年龄:"<<m_nAge<<endl;}CPerson::~CPerson() {}class CEmployee:public CPerson{private: char* m_szDepartment; double m_Salary;public: CEmployee(char* name,char* id,int sex,int age,char* department,double salary); void Show2(); ~CEmployee();};CEmployee::CEmployee(char* name,char* id,int sex,int age,char* department,double salary):CPerson(name,id,sex,age){ m_szDepartment=new char[strlen(department)+1]; strcpy(m_szDepartment,department); m_Salary=salary;}void CEmployee::Show2(){ Show1(); cout<<"部门:"<<m_szDepartment<<endl; cout<<"薪水:"<<m_Salary<<endl;}CEmployee::~CEmployee(){}int main(){ char name[10],id[19],department[10]; int sex,age; double salary; cout<<"input employee's name,id,sex(0:women,1:man),age,department,salary:\n"; cin>>name>>id>>sex>>age>>department>>salary; CEmployee employee1(name,id,sex,age,department,salary); employee1.Show2(); return 0;}
运行结果:
0 0
- 第十一周上机实践项目2——职员有薪水了(2)
- 第十一周上机实践项目2——职员有薪水了(1)
- 第十一周上机实践项目——职员有薪水了(拓展)
- 第十一周上机项目2 职员有薪水了
- 第十一周 课后实践:项目二——职员有薪水了(2)
- 第十一周项目2——职员有薪水了
- 第十一周上机实践项目——职员有薪水了
- 第十一周 项目2-职员有薪水了(2)
- 第十一周项目2--职员有薪水了(2)
- 第十一周 项目2-职员有薪水了(2)
- 第十一周 项目2 - 职员有薪水了(2)
- 第十一周项目2-职员有薪水了(扩展)
- 第十一周项目二 职员有薪水了(2)
- 第十一周 项目二(2):职员有薪水了
- 第十一周 项目2-职员有薪水了(1)
- 第十一周项目二职员有薪水了(2)
- 第十一周 项目2-职员有薪水了(1)
- 第十一周 项目二--职员有薪水了(2)
- MySQL技术站
- ruby环境搭建 CocoaPods安装 使用
- 图片中数字的分割
- asp.net,java,jsp,安卓Android,php,vb.net,c#/c++免费毕业课程设计源码共享下载
- 函数指针
- 第十一周上机实践项目2——职员有薪水了(2)
- 欢迎使用CSDN-markdown编辑器
- STL string常用函数
- phpStorm 破解码
- Struts1.2中ActionForm与ValidatorForm、DynaActionForm的区别
- (NoSql之HBase)HBase简介(很好的梳理资料)
- This application failed to start because it could not find or load the Qt platform plugin “...
- RHEL 7 / CentOS 7 : Single User Mode / Recovering / Reset Root Password
- 面板和型材切割优化软件Boole.OptiCut.Pro-PP.v5.20b