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;
}
  • 测试截图

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户2442861的专栏

python编码问题

我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。

17110
来自专栏Python爬虫实战

Python数据类型之字典(上)

之前系列文章介绍了Python简单数据类型和序列数据类型,本文来学习一种新的映射数据类型:字典。

9310
来自专栏小詹同学

Leetcode打卡 | No.21 合并两个有序链表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

12510
来自专栏老司机的技术博客

golang学习笔记3:常量与变量

常量使用关键字 const 定义,用于存储不会改变的数据。 存储在常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 常量的定义格式: ...

10810
来自专栏Micro_awake web

javascript(三):对象

 对象(object)是javascript中很重要的数据类型。对象是“键值对”的集合,同时也是无序的。(注意:对象结尾处有分号) 1 var ob1={ ...

207100
来自专栏http://www.cnblogs.com

内置函数filter()和匿名函数lambda解析

一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是...

333120
来自专栏菩提树下的杨过

ActionScript3.0(AS3)中的泛型数组Vector

Adobe官方并没有"泛型数组"的叫法,这是我自己对Vector的叫法(有点标题党),不过Vector在使用上确实跟c#中的泛型数组有些相似之处。 我们知道:A...

22670
来自专栏C/C++基础

C/C++ sizeof(下)

sizeof作用于基本数据类型,在特定的平台和特定的编译器中,结果是确定的,如果使用sizeof计算构造类型:结构体、联合体和类的大小时,情况稍微复杂一些。

9120
来自专栏个人随笔

深入理解Java异常处理机制 (笼统篇)

8510
来自专栏Python数据科学

Python爬虫之快速入门正则表达式

当完成了网页html的download之后,下一步当然是从网页中解析我们想要的数据了。那如何解析这些网页呢?Python中有许多种操作简单且高效的工具可以协助我...

12930

扫码关注云+社区

领取腾讯云代金券