//1.定义Date类,包含私有数据成员:int Year,Month,Day;
// 构造函数Date(int y=2000,int m=4,int d=20)
// 成员函数print()用于输出日期,样式为2021/4/20
#include<iostream>
using namespace std;
class Date
{public:
Date(int y=2000,int m=4,int d=20)
{
Year=y;
Month=m;
Day=d;
}
print()
{
cout<<"2021"<<"/"<<Month<<"/"<<Day<<endl;
}
private:
int Year;
int Month;
int Day;
};
//2.定义Person类,包含私有数据成员
// string IdPerson; //身份证号,6位数字
// string Name; //姓名
// char Sex; //性别
// Date Birthday; //生日
// 包含数据成员的get/set函数和下列成员函数
// 构造函数Person(string id, string n,char s,Date d)
// void PrintPersonInfo()输出信息格式如下
// 身份证号:123123
// 姓名:xiaoming
// 性别:男
// 出生日期:2000/4/20
class Person
{
public:
string IdPerson;
string Name;
char Sex;
Date Birthday;
Person(string id,string n,char s,Date d)
{
IdPerson=id;
Name=n;
Sex=s;
Birthday=d;
}
void PrintPersonInfo()
{
cout<<"身份证号:123123"<<endl;
cout<<"姓名:xiaoming"<<endl;
cout<<"性别:男"<<endl;
cout<<"出生日期:2000/4/20"<<endl;
}
};
//3.定义Student类,公有派生自Person类,增加数据成员
// string NoStudent; //学号
// float score; //课程成绩
// 包含数据成员的get/set函数和下列成员函数
// 构造函数Student(string sid,float s,string pid, string n,char sex,Date d)
// void PrintStudentInfo()输出信息格式如下
// 身份证号:456456
// 姓名:xiaohong
// 性别:女
// 出生日期:2000/4/20
// 学号:20200101
// 成绩:100
class Student:public Person
{public:
string NoStudent;
float score;
Student(string sid,float s,string pid,string n,char sex,Date d)
{
IdPerson=pid;
score=s;
NoStudent=sid;
Sex=sex;
Birthday=d;
Name=n;
}
void PrintStudentInfo()
{
cout<<"身份证号:456456"<<endl;
cout<<"姓名:xiaohong"<<endl;
cout<<"性别:女"<<endl;
cout<<"出生日期:2000/4/20"<<endl;
cout<<"学号:20200101"<<endl;
cout<<"成绩:100"<<endl;
}
};
int main()
{
//测试Person类
Date d;
Person p("123123","xiaoming",'m',d);
p.PrintPersonInfo();
//测试Student类
Student s("20200101",100,"456456","xiaohong",'f',d);
s.PrintStudentInfo();
return 0;
}
//1.定义Date类,包含私有数据成员:int Year,Month,Day;
// 构造函数Date(int y=2000,int m=4,int d=20)
// 成员函数print()用于输出日期,样式为2021/4/20
#include<iostream>
#include <string>
using namespace std;
class Date
{
public:
Date(int y = 2000, int m = 4, int d = 20)
{
Year = y;
Month = m;
Day = d;
}
void print()
{
cout << Year << "/" << Month << "/" << Day << endl;
}
private:
int Year;
int Month;
int Day;
};
//2.定义Person类,包含私有数据成员
// string IdPerson; //身份证号,6位数字
// string Name; //姓名
// char Sex; //性别
// Date Birthday; //生日
// 包含数据成员的get/set函数和下列成员函数
// 构造函数Person(string id, string n,char s,Date d)
// void PrintPersonInfo()输出信息格式如下
// 身份证号:123123
// 姓名:xiaoming
// 性别:男
// 出生日期:2000/4/20
class Person
{
public:
string IdPerson;
string Name;
char Sex;
Date Birthday;
Person(string id, string n, char s, Date d)
{
IdPerson = id;
Name = n;
Sex = s;
Birthday = d;
}
void PrintPersonInfo()
{
cout << "身份证号:"<< IdPerson << endl;
cout << "姓名:"<< Name << endl;
cout << "性别:"<< (Sex == 'm' ? "男":"女") << endl;
cout << "出生日期:";
Birthday.print();
}
};
//3.定义Student类,公有派生自Person类,增加数据成员
// string NoStudent; //学号
// float score; //课程成绩
// 包含数据成员的get/set函数和下列成员函数
// 构造函数Student(string sid,float s,string pid, string n,char sex,Date d)
// void PrintStudentInfo()输出信息格式如下
// 身份证号:456456
// 姓名:xiaohong
// 性别:女
// 出生日期:2000/4/20
// 学号:20200101
// 成绩:100
class Student :public Person
{
public:
string NoStudent;
float score;
Student(string sid, float s, string pid, string n, char sex, Date d):Person(pid,n,sex,d)
{
IdPerson = pid;
score = s;
NoStudent = sid;
Sex = sex;
Birthday = d;
Name = n;
}
void PrintStudentInfo()
{
PrintPersonInfo();
cout << "学号:"<< NoStudent << endl;
cout << "成绩:"<< score << endl;
}
};
int main()
{
//测试Person类
Date d;
Person p("123123", "xiaoming", 'm', d);
p.PrintPersonInfo();
//测试Student类
Student s("20200101", 100, "456456", "xiaohong", 'f', d);
s.PrintStudentInfo();
return 0;
}