要求含有教师编号,姓名,性别, 出生年月, 入职年月,以及以下成员函数: ①带有默认参数的构造函数(默认出生年月为1900-00-00),复制构造函数 ②2016年进行新一轮聘用,男性满55,女性满60则到退休年龄,输出应退休的编号和姓名③如果满退休 年龄女老师入职未满35年,则继续聘用,输出姓名和编号④编写main函数测试
随便写了写
#include <iostream>
#include<string>
using namespace std;
class Teacher{
public:
//Teacher() {}//构造函数
Teacher(int y=1900,int m=0,int d=0){
year=y;
month=m;
day=d;
}
Teacher(Teacher &);//拷贝构造函数
void printretire() const;//2016退休的教师
void confeteacher() const;//满退休年龄继续聘用的女老师
void setsex(string gender){//创建性别
sex=gender;
}
void setnum(string number){//创建教师编号
num=number;
}
void setname(string na){//创建教师姓名
name=na;
}
void setwork(int y,int m,int d){//创建入职年月日
year_w=y;month_w=m;day_w=d;
}
private:
string num;//教师编号
string name;
string sex;
int year;//出生年份
int month;//出生月份
int day;//出生日期
//入职年月
int year_w;
int month_w;
int day_w;
};
void Teacher::printretire() const{
if(sex=="male"&&(2016-year)>=55)
cout<<name<<'\t'<<num<<endl;
else if(sex=="female"&&(2016-year)>=60)
cout<<name<<'\t'<<num<<endl;
}
void Teacher::confeteacher() const{
if(sex=="female"&&(2016-year_w)<35&&(2016-year)>=60)
cout<<name<<'\t'<<num<<endl;
}
int main()
{
Teacher t1;
Teacher t2(1956,10,1),t3(1989,1,1);
string gender1="male";
string gender2="female";
string num1="00001";
string num2="00002";
string num3="00003";
string name1="小李";
string name2="小王";
string name3="小刘";
t1.setsex(gender1);
t2.setsex(gender2);
t3.setsex(gender2);
t1.setnum(num1);
t2.setnum(num2);
t3.setnum(num3);
t1.setname(name1);
t2.setname(name2);
t3.setname(name3);
t1.setwork(2000,1,1);
t2.setwork(2003,1,1);
t3.setwork(2006,1,1);
cout<<"应退休的教师:"<<endl;
t1.printretire();
t2.printretire();
t3.printretire();
cout<<"继续聘用已满退休年龄的女教师:"<<endl;
t1.confeteacher();
t2.confeteacher();
t3.confeteacher();
return 0;
}