📄 person.h
字号:
#include <iostream>
#include <string>
using namespace std;
//定义基类Person类,派生出Student和Faculty类,Facuty类派生出Teacher和Staff类 ,将树类Tree声明为友元类
class Tree;
//Person基类
class Person{
friend class Tree;
public:
string m_Name;
int m_Age;
string m_Birthday;
string m_Tel;
Person* l_Child;//左孩子
Person* r_Child;//右孩子
Person* Point;//基类指针
Person* Father;
Person(string &name, int &age, string &birthday, string &tel);
~Person(){}
virtual void print();
};
//Student类
class Student:public Person{
private:
int m_Studentnum;
int m_Score;
public:
Student(string &name,int &age, string &birthday, string &tel, int &studentnum, int &score):Person(name, age, birthday, tel)
{
m_Studentnum = studentnum;
m_Score = score;
}
~Student(){}
void print();
};
//Faculty类//教职工
class Faculty:public Person{
protected:
int m_Facultynum;
float m_Salary;
public:
Faculty(string &name,int &age, string &birthday, string &tel, int &facultynum, float &salary):Person(name, age, birthday, tel)
{
m_Facultynum = facultynum;
m_Salary = salary;
}
~Faculty(){}
void print();
};
//Teacher类 //教师
class Teacher:public Faculty{
private:
int m_Deptnum;
public:
Teacher(string &name,int &age, string &birthday, string &tel, int &facultynum, float &salary, int &deptnum):Faculty(name, age, birthday, tel, facultynum, salary)
{
m_Deptnum = deptnum;
}
~Teacher() {}
void print();
};
//Staff类//职工
class Staff:public Faculty{
private:
int m_Comment;
public:
Staff(string &name,int &age, string &birthday, string &tel, int &facultynum, float &salary, int &comment):Faculty(name, age, birthday, tel, facultynum, salary)
{
m_Comment = comment;
}
~Staff(){}
void print();
};
//定义Tree类
class Tree{
friend class Person;
public:
Tree();
~Tree(){}
void travel(Person* tree);//前序遍历
void del(Person*tree,const string d);//删除节点
void insert_t(Person*tree,Person *p);//插入节点
Person * findnode(Person* tree,string name);//查找节点
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -