C++程序设计, 设计一个date类,数据成员有年、月和日;成员函数有构造函数和一个输出函数。

设计一个date类,数据成员有年、月和日;成员函数有构造函数和一个输出函数。设计一个person类,数据成员有:姓名,性别,出生年月日;成员函数有:构造函数和一个将数据成语输出的函数。设计一个student类,该类是person类的派生类,增加一个数据成员:学号,成员函数包含一个构造函数和一个输出函数。在main函数中测试所设计的类。

题目中说类的成员函数包括构造函数和输出函数,所以成员变量都用public声明就可以了,否则还得添加get和set方法来获取和设置成员变量的值。

#include <iostream>
#include <string>
using namespace std;

class date
{
public:
    int mYear,mMon,mDay;
public:
    date(){}
    void print()
    {
        cout << mYear<<"-"<<mMon<<"-"<<mDay<<endl;
    }
};

class person
{
public:
    string mName;
    string mSex;
    date mBirth;
public:
    person(){}
    void print()
    {
        cout <<"姓名:"<<mName <<",性别:"<<mSex <<",出生日期:";
        mBirth.print();
    }
};

class student :public person
{
public:
    int mId; //学号
public:
    student(){}
    void print()
    {
        cout << "学号:" << mId;
        cout <<",姓名:"<<mName <<",性别:"<<mSex <<",出生日期:";
    }
};


int main()
{
    date dt;
    dt.mYear = 2022;
    dt.mMon = 3;
    dt.mDay = 11;
    dt.print(); //显示日期
    person ps;
    ps.mName = "张三";
    ps.mSex = "男";
    ps.mBirth = dt;
    ps.print(); //显示person信息
    student stu;
    stu.mId = 1001;
    stu.mName = "李四";
    stu.mSex = "男";
    stu.mBirth = dt;
    stu.print();
    return 0;
}