编写一个teacher类

要求含有教师编号,姓名,性别, 出生年月, 入职年月,以及以下成员函数: ①带有默认参数的构造函数(默认出生年月为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;
}

一、实验目的 掌握根据实际需求设计Java的方法; 掌握Java中继承的使用方法; 掌握Java中package的概念和使用方法; 掌握静态方法的定义和使用方法; 掌握Object中equals方法和toString方法的覆盖方法。 二、实验内容 1、设计一个名为figure的图形软件包(package)。包中包含三角形、矩形、圆三个。要求:(1)每个都要构造方法并为成员设置get和set方法;(2)每个都要有计算周长和面积的成员方法;(3)完成该软件包后的编码后,在另一个包的含有main方法的编写代码,分别使用图形软件包中的三个,生成三个对象,并打印出其周长和面积。 2、编写Factorial,为其添加两个静态方法(方法名自定义)。其中一个使用递归计算n的阶乘,一个使用非递归计算n的阶乘。构造main方法进行测试。 3、按照要求使用Java进行编码。 设计一个教师Teacher,属性有编号(no)、姓名(name)、年龄(age)、所属学院(seminary),为这些属性设置相应的get和set方法; 为Teacher重写equals方法;(当两个教师对象的no相同时返回true) 重写Teacher的toString方法,通过该方法可以返回“编号为**、姓名为**、年龄为**的**学院老师”形式的字符串。 构造main方法进行测试。 4、设计一个带表头的单链表(链表中的元素属于同一型对象,但对象的型可以随意),提供以下操作:(1)insert:在某个位置插入对象;(2)delete:在某个位置删除对象;(3)delete:删除链表中与x相同的元素;(4)size:返回当前链表中对象的个数;(5)isEmpty:判断链表是否为空;(6)traverse:遍历链表,打印出所有的元素;(7)getData:取得某个位置的对象。构造main函数进行测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值