前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++创建People类--练习

C++创建People类--练习

作者头像
Enterprise_
发布2018-05-18 15:19:10
1.3K0
发布2018-05-18 15:19:10
举报
文章被收录于专栏:小L的魔法馆
  • 题目描述
代码语言:javascript
复制
/*设计一个用于人事管理的People(人员)类。*/
/*
考虑到通用性,这里只抽象所有类型人员都具有的属性:
number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。
其中“出生日期”定义为一个“日期”类内嵌子对象。
用成员函数实现对人员信息的录入和显示。
要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。
*/
  • 代码如下
代码语言:javascript
复制
#include<iostream>
#include<string>
using namespace std;
class Data {
public:
    Data() {}
    Data(int yy, int mm, int dd);
    Data(Data &ap);
    ~Data();
    int get_year();
    int get_month();
    int get_day();
    void set_year(int y);
    void set_month(int m);
    void set_day(int d);
private:
    int year;
    int month;
    int day;
};
Data::Data(int yy, int mm, int dd) {
    year = yy;
    month = mm;
    day = dd;
}
Data::Data(Data &ap) {
    year = ap.year;
    month = ap.month;
    day = ap.day;
}
Data::~Data() {

}
int Data::get_day() {
    return day;
}
int Data::get_month() {
    return month;
}
int Data::get_year() {
    return year;
}
void Data::set_day(int d) {
    day = d;
}
void Data::set_month(int m) {
    month = m;
}
void Data::set_year(int y) {
    year = y;
}
class People {
public:
    People(int num, string se, Data birthd, string iid);
    People(People &tp);
    People(){}
    People get_People();
    ~People() {

    }
    void set_number(int num) {
        number = num;
    }
    void set_sex(string se) {
        sex = se;
    }
    void set_birthday(Data birth) {
        birthday = birth;
    }
    void set_id(string iidd) {
        id = iidd;
    }
    int get_number();
    string get_sex();
    Data get_birthday();
    string get_id();
    void details();
private:
    int number;
    string sex;
    Data birthday;
    string id;
};
inline int People::get_number() {
    return number;
}
inline string People::get_sex() {
    return sex;
}
inline string People::get_id() {
    return id;
}
Data People::get_birthday() {
    return birthday;
}
void People::details() {
    cout << "Number:"<<number << endl;
    cout << "Sex:" << sex << endl;
    cout << "Birhtday:" << birthday.get_year() << "/" << birthday.get_month() << "/" << birthday.get_day() << endl;
    cout << "ID:" << id << endl;
}
People::People(int num, string se, Data birth, string iid):birthday(birth){
    number = num;
    sex = se;
    id = iid;
}
People People::get_People() {
        int num, yy, mm, dd;
        string ID, se;
        cout << "Please enter the number of the people:";
        cin >> num;
        cout << "Please enter the sex of the people:(male or female)";
        cin >> se;
        cout << "Please enter the birthday of the people:" << endl
            << "(Warnning:The format is similar to 1998 8 3)" << endl;
        cin >> yy >> mm >> dd;
        cout << "Please enter the id of the people:";
        cin >> ID;
        Data birth(yy, mm, dd);
        id = ID;
        number = num;
        sex = se;
        birthday = birth;
        return *this;
}
People::People(People &tp) {
    number = tp.get_number();
    sex = tp.get_sex();
    id = tp.get_id();
    birthday = tp.get_birthday();
}
int main()
{
    People asp;
    asp.get_People();
    asp.details();
    return 0;
}
  • 测试截图
这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年04月07日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档