第11周 项目二-职员有薪水了(1)
来源:互联网 发布:淘宝卖鞋子店铺名字 编辑:程序博客网 时间:2024/06/15 06:30
(1)定义一个名为CPerson的类,有以下私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、析构函数、输出信息的函数。并在此基础上派生出CEmployee类,派生类CEmployee增加了两个新的数据成员,分别用于表示部门和薪水。要求派生类CEmployee的构造函数显示调用基类CPerson的构造函数,并为派生类CEmployee定义析构函数,定义输出信息的函数。
class CPerson{protected: string m_szName; string m_szId; int m_nSex;//0:women,1:man int m_nAge;public: CPerson(string name,string id,int sex,int age); void Show1(); ~CPerson();};class CEmployee:public CPerson{private: string m_szDepartment; double m_Salary;public: CEmployee(string name,string id,int sex,int age,string department,double salary); void Show2(); ~CEmployee();};int main(){ string name,id,department; 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;}
下面的运行结果供参考:
代码
#include <iostream>#include <cstring>#include <iomanip>using namespace std;class CPerson{protected: string m_szName; string m_szId; int m_nSex;//0:women,1:man int m_nAge;public: CPerson(string name,string id,int sex,int age); void Show1(); ~CPerson();};class CEmployee:public CPerson{private: string m_szDepartment; double m_Salary;public: CEmployee(string name,string id,int sex,int age,string department,double salary); void Show2();};CPerson::CPerson(string name,string id,int sex,int age){ m_szName=name; m_szId=id; m_nSex=sex; m_nAge=age;}void CPerson::Show1(){ cout<<setw(5)<<m_szName<<setw(18)<<m_szId; if(m_nSex==0) cout<<setw(7)<<"women"; else cout<<setw(7)<<"man"; cout<<setw(8)<<m_nAge;}CPerson::~CPerson() {}CEmployee::CEmployee(string name,string id,int sex,int age,string department,double salary):CPerson(name,id,sex,age){ m_szDepartment=department; m_Salary=salary;}void CEmployee::Show2(){ cout<<setw(5)<<"name"<<setw(18)<<"id"<<setw(7)<<"sex"<<setw(8)<<"age"<<setw(12)<<"department"<<setw(10)<<"salary"<<endl; Show1(); cout<<setw(12)<<m_szDepartment<<setw(10)<<m_Salary;}int main(){ string name,id,department; 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;}
运行结果:
知识点总结:
<iomanip> setw(10)用于对齐
0 0
- 第11周 项目二-职员有薪水了(1)
- 第11周 【项目2 - 职员有薪水了】(1)
- 第11周项目2 - 职员有薪水了(1)
- 第11周 项目二-职员有薪水了(2)
- 项目2-职员有薪水了(1)(第10,11周补充项目)
- 第二学期第11周项目2--职员有薪水了(1)
- 第11周项目2-职员有薪水了(1)
- 第11周 项目2 职员有薪水了(1)
- 第11周补充项目2-职员有薪水了(1)
- 第11周 项目2 职员有薪水了
- 第11周 【项目2 - 职员有薪水了】(2)
- 第11周项目2职员有薪水了
- 第11周项目2 - 职员有薪水了(2)
- 第11周项目2-职员有薪水了
- 第11周项目3-职员有薪水了
- 第10-11周项目:职员有薪水了啦
- 第10周项目2-1职员有薪水了
- 2014-第11周项目二-职员有薪水
- 项目1——存储班长信息的学生类
- 第十一周【项目1 - 存储班长信息的学生类】
- 第十一周项目:存储班长信息的学生类(1)
- 深入源码剖析 HashSet、HashMap、HashTable
- 第十一周自选阅读三
- 第11周 项目二-职员有薪水了(1)
- JAVA并发编程3_线程同步之synchronized关键字
- 第十一周项目3——点类派生直线类
- 复数类中的运算符重载 .
- 第九周项目 00 阅读程序(3)
- 解决 Ubuntu 14.04 登录后屏幕冻结问题
- Android 性能测试实践(三)Cpu
- CAA中指南针操作笔记...
- OC_07_时间类与类的扩展