类与对象课后题

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

猜你喜欢

转载自blog.csdn.net/han_hhh/article/details/80633982