您的位置:首页 > 编程语言 > C语言/C++

C++初学初练类与对象构造函数与析构函数之人员信息录入简单代码

2014-04-19 20:11 429 查看
题目名称:
  设计一个用于人事管理的 People(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等。
  其中"出生日期"定义为一个"日期"类内嵌子对象。
  用成员函数实现对人员信息 的录入和显示。
  要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、带缺省形参值的成员函数、聚集。
构思过程(可用文字、流程图、UML图等方式表达):
题目要求设计一个内嵌日期子对象的人员管理类,则应写一个人员管理类和日期类,并写出题目中要求的构造函数、析构函数、复制构造函数、内联成员函数、带缺省形参值的成员函数和聚集。
#include <iomanip>
#include <iostream>
#include <string>
using namespace std;

class Date
{
public:
Date(int,int,int);
int getYear();
int getMonth();
int getDay();
private:
int year;
int month;
int day;
};
Date::Date(int Year,int Month,int Day):year(Year),month(Month),day(Day)
{
year=Year;
month=Month;
day=Day;
}
int Date::getYear()
{
return year;
}
int Date::getMonth()
{
return month;
}
int Date::getDay()
{
return day;
}

class Staff
{
public:
Staff(int,string,char,int,int,int,int);
Staff(Staff &s);
void msgShow();
int getNumber();
string getName();
char getGender();
int getId();
~Staff(){};
private:
int number;
string name;
char gender;
int id;
Date d;
};
Staff::Staff(int Number,string Name,char Gender,int Id,int Year=0,int Month=0,int Day=0)
:number(Number),name(Name),gender(Gender),d(Year,Month,Day)
{}
int Staff::getNumber()
{
return number;
}
string Staff::getName()
{
return name;
}
char Staff::getGender()
{
return gender;
}
int Staff::getId()
{
return id;
}
Staff::Staff(Staff &s):d(s.d.getYear(),s.d.getMonth(),s.d.getDay())
{
number=s.getNumber();
name=s.getName();
gender=s.getGender();
id=s.getId();
}
void Staff::msgShow()
{
cout<<"工号: "<<getNumber()<<endl;
cout<<"姓名: "<<getName()<<endl;
cout<<"性别: "<<getGender()<<endl;
cout<<"身份证号:"<<getId()<<endl;
cout<<"出生年月: "<<d.getYear()<<" "<<d.getMonth()<<" "<<d.getDay()<<" "<<endl;
}

void msgSet()
{
int inu,iid,iye,imo,ida;
char cge;
string sna;
cout<<"请输入工号: ";
cin>>inu;
cout<<"请输入名字: ";
cin>>sna;
cout<<endl;
cout<<"请输入性别(男性输入M,女性输入F): ";
cin>>cge;
cout<<"请输入身份证号: ";
cin>>iid;
cout<<"请输入出生年月日(中间用空格隔开): ";
cin>>iye>>imo>>ida;
Staff s(inu,sna,cge,iid,iye,imo,ida);
s.msgShow();
}
int main()
{
for(int i=0;i<10000;i++)
{
cout<<"请输入第"<<i+1<<"个员工信息"<<endl;
msgSet();
cout<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐