一个用于人事管理的人员类,所有人员都具有的属性有:编号,性别,出生日期,身份证号,录入并输出这些数据,其中出生日期声明为一个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; }