zoukankan      html  css  js  c++  java
  • [置顶] 第十三项目三:CEmployee类继承自CPerson类

    /* 
    * 程序的版权和版本声明部分 
    * Copyright (c)2012, 烟台大学计算机学院学生 
    * All rightsreserved. 
    * 文件名称: fun.cpp 
    * 作 者:李蒙
    * 完成日期:2013年 05月 19日 
    * 版本号: v1.0 
    * 对任务及求解方法的描述部分: 
    * 输入描述:略 
    * 问题描述:略 
    * 程序输出:如下 
    */  
    #include <iostream>
    #include <iomanip>
    #include <string>
    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();  //需要释放建立对象时动态分配的内存  
    };  
    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);  
        void Show2();  
        ~CEmployee();  
    };  
    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<<setw(10)<<m_szName<<setw(10)<<m_szId;
    	if(m_nSex==0)
    		cout<<setw(7)<<"woman";
    	else
    		cout<<setw(7)<<"man";
    	cout<<setw(5)<<m_nAge<<endl;
    }
    CPerson::~CPerson()
    {
    	delete[ ]m_szName;
    	delete[ ]m_szId;
    } 
     CEmployee:: 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  CEmployee::Show2()
    {
    	cout<<setw(10)<<"name"<<setw(25)<<"id"<<setw(7)<<"sex"<<setw(5)<<"age"<<setw(12)<<"department"<<setw(10)<<"salary"<<endl;  
        cout<<setw(10)<<m_szName<<setw(25)<<m_szId;  
        if(m_nSex==0)  
            cout<<setw(7)<<"women";  
        else  
            cout<<setw(7)<<"man";  
        cout<<setw(5)<<m_nAge;  
    	cout<<setw(12)<<m_szDepartment<<setw(10)<<m_Salary<<endl; 
    }
     CEmployee::~CEmployee()  
    {  
        delete [ ]m_szDepartment;  
    }  
    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;  
    }  

    输出结果:

  • 相关阅读:
    Linux常用命令英文全称与中文解释Linux系统
    最流行的android组件大全
    Android eclipse中程序调试
    Oracle----Key Word
    Oracle----date
    ANDROID代码实现APK文件的安装与卸载
    listview加载性能优化
    【369】列表/字典的分拆, unpacking
    【368】相关术语说明
    【367】通过 python 实现 SVM 硬边界 算法
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3087677.html
Copyright © 2011-2022 走看看