• C++创建People类--练习


    • 题目描述
    /*设计一个用于人事管理的People(人员)类。*/
    /*
    考虑到通用性,这里只抽象所有类型人员都具有的属性:
    number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。
    其中“出生日期”定义为一个“日期”类内嵌子对象。
    用成员函数实现对人员信息的录入和显示。
    要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。
    */
    • 代码如下
    #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;
    }
    • 测试截图
  • 相关阅读:
    电话号码分身
    利用Geoerver+Mysql+openlayers实现gis空间数据线段、多边形的存储、编辑、平移等功能
    vue+openlayers图形交互,实现多边形绘制、编辑和保存
    JetBrains AppCode:用于 iOS/macOS 开发的智能 IDE
    GIS基础知识
    class java.time.LocalDateTime cannot be cast to class java.util.Date
    geoserver配置SQL图层 cql_filter模糊查询
    gis论坛
    Geoserver的WFS服务
    Linux 环境下修改 MySQL 时区
  • 原文地址:https://www.cnblogs.com/FlyerBird/p/8995966.html
Copyright © 2020-2023  润新知