- 设计一个用于人事管理的(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:编号、性别、出生日期、身份证号等。其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合。
#include <iostream>
using namespace std;
class data{
public:
data(data & birthday);
data(int xx=0,int yy=0,int zz=0);
void get0();
~data(){};
private:
int year ,month,day;
};
data::data(int xx,int yy,int zz){
year=xx;
month=yy;
day=zz;
}
void data::get0(){
cout<<"出生日期:"<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
}
data::data(data & birthday){
year=birthday.year;
month=birthday.month;
day=birthday.day;
}
class person{
public:
person(int a,int b,int c,data d);
void get();
~person(){};
private:
int number,sex,identify;
data birth;
};
person::person(int a,int b,int c,data d):birth(d){
number=a;
sex=b;
identify=c;
}
void person::get(){
cout<<"编号:"<<number<<endl;
cout<<"性别:"<<sex<<endl;
birth.get0();
cout<<"身份证号:"<<identify<<endl;
}
int main(){
int a,b,c,x,y,z,i,all;
cin>>all;
cout<<"人员个数:"<<endl;
cout<<all<<endl;
for(i=0;i<all;i++){
cin>>a>>b>>c>>x>>y>>z;
data f(x,y,z);
person e(a,b,c,f);
e.get();
}
return 0;
}