1.编写一个学生和教师数据输入和显示程序,学生的数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类person,并作为学生数据操作类student和教师类teacher的基类。
#include<iostream>
#include<string>
using namespace std;
class person{//基类,包含编号姓名(数据成员),输入和显示 (成员函数)
public:
person(string num,string na)
{
number=num;
name=na;
}//构造函数,没有再做输入显示,输入在初始化的时候就已经给了
void show()
{
cout<<"编号:"<<number<<" "<<"姓名:"<<name<<" ";
}//只能显示这两个成员
protected:
//父类成员类型写的protected是为了继承之后在派生类中可以去找protected的成员
//如果是privated就无法访问这两个成员
string number;
string name;//两数据成员,编号和姓名
};
class student :public person//学生类公有的继承person这个类
{
public:
student(string num,string na,string cla,float sc):person(num,na)
//构造函数要给出四个参数,前两个实现父类子对象的初始化,后两个实现新增成员的初始化
{
clas=cla;
score=sc;
}
void show_s()//新增成员函数,不是重载或继承
{
show();//调用由person类继承而来的show函数,完成编号和姓名的输出
cout<<"班号:"<<clas<<" "<<"成绩:"<<score<<" "<<endl;
}
private:
string clas;
double score;//班号和成绩为新增成员
};
class teacher :public person
{
public:
teacher( string num,string na,string pro,string dep):person(num,na)
//设置四个参数,前两个实现父类子对象的初始化,完成编号和名字的赋值