设计一个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;
}