c++实验4—项目3 职员薪水

一,问题及代码

/*
文件名称:职员薪水.cpp   
作者    :汤俊鹏   
日期    :2016.4.22   
平台    :visual c++ 6.0       
项目名称:基类和派生类的应用   
问题详情:定义一个名为CPerson的类,有以下私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、输出信息的函数
          。并在此基础上派生出CEmployee类,派生类CEmployee增加了两个新的数据成员,分别用于表示部门和薪水。
          要求派生类CEmployee的构造函数显示调用基类CPerson的构造函数,并为派生类CEmployee定义输出信息的函数。
代码如下:   
*/     
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
class CPerson  
{  
protected:  
    string m_szName;  
    string m_szId;  
    int m_nSex;//0:女,1:男  
    int m_nAge;  
public:  
    CPerson(string name,string id,int sex,int age);  
    void Show1();  
};
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<<std::right<<setw(10)<<m_szName<<std::right<<setw(10)<<m_szId;
    if(m_nSex==0)  cout<<std::right<<setw(10)<<"女";
	else           cout<<std::right<<setw(10)<<"男";
	cout<<std::right<<setw(10)<<m_nAge;
}

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::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<<std::right<<setw(10)<<"姓名"<<std::right<<setw(10)<<"ID"<<std::right<<setw(10)<<"性别"<<std::right<<setw(10)<<"年龄"<<std::right<<setw(10)<<"部门"<<std::right<<setw(10)<<"薪水"<<endl;
    CPerson::Show1();
	cout<<std::right<<setw(10)<<m_szDepartment<<std::right<<setw(10)<<m_Salary<<endl;
}

int main()  
{  
    string name,id,department;  
    int sex,age;  
    double salary;  
    cout<<"请输入雇员的姓名,ID,性别(0:女,1:男),年龄,部门,薪水:\n";  
    cin>>name>>id>>sex>>age>>department>>salary;  
    CEmployee employee1(name,id,sex,age,department,salary);  
    employee1.Show2();  
    return 0;  
}

二,运行结果

c++实验4—项目3 职员薪水_第1张图片

三,心得体会

        这次实验,让我深切体会到派生和继承的使用方法,对于派生类函数调用基类函数,派生类构造函数调用基类构造函数,这两点开始卡住,查阅后才知道具体怎么用,实践才能掌握。

四,知识点总结

       要了解基类和派生类相关基础知识,熟悉派生类构造函数和派生类成员函数的使用,注意输出的格式控制(靠右对齐)。

你可能感兴趣的:(C++)