一个用于人事管理的人员类,所有人员都具有的属性有:编号,性别,出生日期,身份证号,录入并输出这些数据,其中出生日期声明为一个Date类内嵌子对象
c++一个伟大的起步……
#include <iostream>
using namespace std;
class Date{ //日期类
public:
Date(){} //默认构造函数,注意末尾没有“;”
Date(int y,int m,int d){ //带参构造函数
year=y;
month=m;
day=d;
}
void setdate(){
cin>>year>>month>>day; /*有点问题*/
}
void showdate(){
cout<<year<<month<<day;
}
private:
int year,month,day;
};
class People{
public:
People(){} //默认构造函数
People(int n,int y,int m,int d,string i,char s='m'):birthday(y,m,d){ //要把带有默认形参值的char放在最后边
num=n;
sex=s;
id=i;
} //有默认值的带参构造函数
People(People &p){ //复制构造函数
num=p.num;
sex=p.sex;
id=p.id;
birthday=p.birthday;
}
void input(){ //输入
cout<<"编号:";
cin>>num;
cout<<"性别(m/f):";
cin>>sex;
cout<<"生日";
birthday.setdate();
cout<<"身份证号:";
cin>>id;
}
void output(){ //输出
cout<<"编号:"<<num<<endl;
cout<<"性别:"<<sex<<endl;
birthday.showdate();
cout<<"身份证号:"<<id<<endl;
}
~People(){
cout<<num<<" 号成员已录入完毕"<<endl;
}
private:
int num;
char sex;
string id;
Date birthday;
};
int main(void){
People person;
person.input();
person.output();
return 0;
}