/*1.某学校对教师每月工资的计算规定如下:
固定工资+课时补贴。
教授的固定工资为5000元,每个课时补贴50元。
副教授的固定工资为3000元,每个课时补贴30元。
讲师的固定工资为2000元,每个课时补贴20元。定义教师抽象类,
派生不同职称的教师类,编写程序求若干个教师的月工资。
*/
#include
#include
#include<windows.h>
using namespace std;
class teacher
{
public:
teacher()
{
cout<<“请输入姓名:”;
cin>>name;
cout<<“请输性别:”;
cin>>gender;
cout<<“请输入身份证:”;
cin>>id_number;
}
virtual void display()=0;
protected:
string name; //姓名
string gender; //性别
string id_number; //身份证号码
};
class professor:public teacher
{
public:
professor():teacher()
{
cout<<“请输入课时:”;
cin>>hour;
}
virtual void display()
{
cout<<“姓名(教授):”<<name<<endl;
cout<<“性别(教授):”<<gender<<endl;
cout<<“身份证(教授):”<<id_number<<endl;
cout<<“教授的工资(教授):”<<5000+hour*50<<endl;
}
protected:
float hour;
};
class mid_professor: public teacher
{
public:
mid_professor():teacher()
{
cout<<“请输入课时:”;
cin>>hour;
}
virtual void display()
{
cout<<“姓名(副教授):”<<name<<endl;
cout<<“性别(副教授):”<<gender<<endl;
cout<<“身份证(副教授):”<<id_number<<endl;
cout<<“教授的工资(副教授):”<<3000+hour*30<<endl;
}
protected:
float hour;
};
class lecturer: public teacher
{
public:
lecturer():teacher()
{
cout<<“请输入课时:”;
cin>>hour;
}
virtual void display()
{
cout<<“姓名(讲师):”<<name<<endl;
cout<<“性别(讲师):”<<gender<<endl;
cout<<“身份证(讲师):”<<id_number<<endl;
cout<<“教授的工资(讲师):”<<2000+hour*20<<endl;
}
protected:
float hour;
};
void objdispaly(teacher *m)
{
m->display();
}
void main()
{
system(“color f0”);
professor *p;
int i;
cout<<“请输入教授的人数:”;
cin>>i;
p=new professor[i];
mid_professor *q;
cout<<"请输入副教授的人数:";
cin>>i;
q=new mid_professor[i];
lecturer *l;
cout<<"请输入讲师的人数:";
cin>>i;
l=new lecturer[i];
objdispaly(p);
objdispaly(q);
objdispaly(l);
system(“pause”);
}