⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 person.h

📁 1.程序完整实现了异质树的遍历
💻 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 + -