5月16日打卡

习题4-10设计一个用于人事管理的“人员”类。由于考虑到通用性,这里只抽象出所有类型人员都具有的属性:编号、性别、出生日期、身份证号等。其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、复制构造函数、内联成员函数、带默认形参值的成员函数、类的组合

设计思路:

1.设计一个日期类。

2.派生一个人员类,包括编号、性别、出生日期、身份证号等私有成员,

3.生成一个对象并输出该对象的值。

流程图:

 

代码部分:

#include<iostream>
using namespace std;
class Date {
private:
    int year;
    int month;
    int day;
public:
    Date(int a, int b, int c)
    {
        year = a;
        month = b;
        day = c;
    }
    Date(Date &p)
    {
        year = p.year;
        month = p.month;
        day = p.day;
    }
    ~Date(){}
    void show()
    {
        cout << year << "." << month << "." << day<<endl;
    }
};
class Person :public Date
{
private:
    long  No;
    string sex;
    long long num;
public:
    Person(long a, string b, int d, int e, int f, long long g) :Date(d, e, f)
    {
        No = a;
        sex = b;
        num = g;
    }
    void Show()
    {
        cout << "No=" << No << endl;
        cout << "sex:" << sex << endl;
        cout << "num=" << num << endl;
        show();

    }
~Person(){}
};
int main()
{
    long a = 20224129;
    string b = "man";
    long long c=130682200401306311;
    int d=1949;
    int e = 10;
    int f = 1;
    Person x(a,b, d, e, f, c);
    x.Show();
}

 

posted on 2023-05-16 20:22  石铁生  阅读(30)  评论(0)    收藏  举报