person.h

来自「1.程序完整实现了异质树的遍历」· C头文件 代码 · 共 110 行

H
110
字号
#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 + =
减小字号Ctrl + -
显示快捷键?