第10.11-补充2-2
2016-05-22 20:57
459 查看
/*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:my.cpp *作 者:张瀚文 *完成日期:2016年5月21日 * * 问题描述: 1)字符串除了用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) { 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 Show1(); ~CPerson(){delete []m_szName ;delete []m_szId;} }; void CPerson::Show1() { cout<<m_szName<<' '<<m_szId<<' '; if(m_nSex==0) cout<<"women"; else if(m_nSex==1) cout<<"men"; else cout<<"error"; cout<<' '<<m_nAge; } class CEmployee:public CPerson { private: char *m_szDepartment; float m_Salary; public: CEmployee(char *name,char *id,int sex,int age,char *department,float salary): CPerson(name,id,sex,age) { m_szDepartment=new char [strlen(department)+1]; strcpy(m_szDepartment,department); m_Salary=salary; } void Show2(); ~CEmployee(){delete []m_szDepartment;} }; void CEmployee::Show2() { cout<<"name"<<" "<<"id"<<' '<<"sex"<<' '<<"age"<<' '<<"department"<<' '<<"salary"<<endl; Show1(); cout<<' '<<m_szDepartment<<' '<<m_Salary; } int main() { char name[10],id[19],department[10]; int sex,age; float 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; }
相关文章推荐
- 【Leetcode】Course Schedule
- 【Leetcode】Minimum Height Trees
- HDU 1242 Rescue (BFS+优先队列)
- java 多线程总结
- 性能优化总结
- 【Leetcode】Reconstruct Itinerary
- 设计模式与代码重构——ios篇
- Markdown编辑器基本语法
- Unity 简单读取txt文档内容的方法
- 8-CSS选择器
- [HDU1588]Gauss Fibonacci(递推+矩阵快速幂)
- POJ 2159 Ancient Cipher(密码变换)
- 【Leetcode】Ugly Number II
- numpy基础
- Swift 协议详解
- 【Leetcode】Super Ugly Number
- 【算法】——插入排序
- 新一代和12-factors:配置
- css sprite实例
- 排序链表