第10、 11 周-职工有薪水啦

问题及代码:

/*copyright 计算机与控制工程学院
完成日期:2016年5月8日
作者:马艳艳

问题描述:wu
输入描述:职工信息
输出描述:职工信息
*/
#include <iostream>
#include <cstring>
#include <iostream>

#include <iomanip>

using namespace std;
class CPerson
{
protected:
    char *m_szName;
    char *m_szID;
    int m_nSex;
    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(25)<<m_szID; //setw:设置输出数据的宽度,使用时应#include <iomanip.h>
    if(m_nSex==0)
        cout<<setw(7)<<"women";
    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;
    //由于基类CPerson的成员变量采用了protected属性,因此可采用上述述代码实现,否则若
    //基类CPerson的成员变量采用了privated属性,则只能使用CPerson::Show();实现
    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;
}

运行结果:

知识点总结:

在继承中用指针,过程中利用string的函数进行复制,就是相当于其中的赋值然后,再利用私有成员的时候用Cperson::show来实现、

时间: 2024-10-01 04:47:40

第10、 11 周-职工有薪水啦的相关文章

C++第10/11周项目 继承与派生 【项目5 - 摩托车继承自行车和机动车】(复习新版)

/* *copyright(c) 2016,烟台大学计算机学院 *All rights reserved *文件名称:test.cpp *作者:谭泽纯 *版本:v6.0 * 在下面一段类的定义中,自行车类的虚基类为车辆类,机动车类的虚基类也为车辆类,摩托车类的基类为自行车类和机动车类,类之间均为公有继承,如图所示. 下载可执行文件链接motorcar.exe. (1)根据上面各类间关系的描述,补全下面程序段中空缺的代码: (2)实现程序中声明的成员函数,注意相应操作中的动作发生的条件不能满足时应

第10.11周储存班长信息的学生类(1)

代码: /* *Copyright (c) 2016, 烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp; *作 者:岳成艳2016年5月10号: *版 本 号:vc++6.0: * *问题描述:储存班长信息类. *程序输入:略: *程序输出:略: */ #include <iostream> #include <string> using namespace std; class Stu //声明基类 { public: St

第10,11周 阅读程序写出运行结果 (1)

 /* 2.02. *Copyright (c) 2016,烟台大学计算机学院 3.03. *All rights reserved. 4. 04. *文件名称:cpp 5. 05. *作    者:孙亚茹 6.06. *完成日期:2016年5月10日 7.07. *版 本 号:v1.0 8. 09. *问题描述:阅读程序,写出执行结果. 9.*/  #include <iostream> using namespace std; class Data { public: Data(int

第10,11周 项目一(2)

/*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:肖雪 *完成日期:2016年5月9日 *版 本 号:v1.0 *问题描述:以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试: */ #include <iostream> using namespace std; class Point

第10.11周项目2--储存班长的信息的学生类

代码: /* *Copyright (c) 2016, 烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp; *作 者:岳成艳2016年5月6号: *版 本 号:vc++6.0: * *问题描述:储存班长信息类. *程序输入:略: *程序输出:略: */ #include <iostream> #include <string> using namespace std; class Stu //声明基类 { public: Stu

201521123045 &lt;java程序设计&gt;第11周学习总结

201521123045 <java程序设计>第11周学习总结 1. 本周学习总结 2. 书面作业 2. 书面作业 Q1.1.互斥访问与同步访问完成题集4-4(互斥访问)与4-5(同步访问) import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.Condition; class Account{ private int balance; private Lock lock = new

20145326蔡馨熠《信息安全系统设计基础》第11周学习总结

20145326蔡馨熠<信息安全系统设计基础>第11周学习总结 教材内容总结 异常控制流(ECF)发生在计算机系统的各个层次,是计算机系统中提供并发的基本机制.在硬件层,异常是由处理器中的事件触发的控制流中的突变.控制流传递给一个软件处理程序,该处理程序进行一些处理,然后返回控制给被中断的控制流. 有四种不同类型的异常:中断.故障.终止和陷阱.当一个外部旧设备,例如定时器芯片或者一个磁盘控制器,设置了处理器芯片上的中断引脚时(对于任意指令)中断会异步地发生控制返回到故障指令后面的那条指令. 一

第10/24周 计划缓存

在这一期的性能调优培训里,我想详细谈下SQL Server里计划缓存及其副作用.在上一周你已经学到,每个提交给SQL Server的逻辑查询会编译成物理执行计划.那个执行计划然后会被缓存,即被称为计划缓存,用作后期的重用.首先我们来看下即席SQL语句(adhoc SQL statements,对应的反义词:prepared SQL statements)的副作用,即带来的性能问题. 即席SQL语句(adhoc SQL statements) 每次当你提交一个即席SQL语句到SQL Server时

20162313苑洪铭 2017-2018-1 《程序设计与数据结构》第11周学习总结

20162313苑洪铭 2017-2018-1 <程序设计与数据结构>第11周学习总结 教材学习内容总结 哈希方法 哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值.哈希值是一段数据唯一且极其紧凑的数值表示形式.如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值.要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性.一般用于快速查找和加密算法. 哈希函数 哈希表中元素是由哈希函数确定的.将数