C++专题之实现信息系统(抽象类、继承、链表)(三)

2014-11-24 11:40:42 · 作者: · 浏览: 2
t();
};


TeacherList.cpp

// TeacherList.cpp: implementation of the CTeacherList class.
//
//////////////////////////////////////////////////////////////////////

#include "TeacherList.h"
#include "TeacherLink.h"
#include "Node.h"
#include 
              
               
#include 
               
                 #include 
                
                  using namespace std; ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CTeacherList::CTeacherList() { header=CTeacherList::CreateLink(); } CTeacherList::~CTeacherList() { } void CTeacherList::TeacherListAdd(void *data) { CTeacherLink::TeacherLinkAdd(&header,data); return ; } void CTeacherList::PrintList(pfun print_teacher) { CTeacherLink::PrintTeacherLink(header,print_teacher); return ; } 
                
               
              

Teacher.h

#include "StudentLink.h"
#include "Node.h"
#include "Person.h"

class CTeacher :public CPerson  
{
public:
	int TeacherNumber;            //教师编号
	char *TeacherTitle;          //教师职称
	char *TeacherName;            //教师姓名

	CTeacher();
	virtual ~CTeacher();
        CTeacher(int HumanAge,int TeacherNumber,char *TeacherName,char *TeacherTitle); //含参数构造函数
        void PrintTeacher();                                                         //打印教师
};

Teacher.cpp

// Teacher.cpp: implementation of the CTeacher class.
//
//////////////////////////////////////////////////////////////////////

#include "Teacher.h"
#include 
              
               
#include 
               
                 #include 
                
                  using namespace std; ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CTeacher::CTeacher() { } CTeacher::~CTeacher() { } CTeacher::CTeacher(int HumanAge,int TeacherNumber,char *TeacherName,char *TeacherTitle):CPerson(HumanAge) { this->TeacherName=new char[strlen(TeacherName)+1]; strcpy(this->TeacherName,TeacherName); this->TeacherNumber=TeacherNumber; this->TeacherTitle=new char[strlen(TeacherTitle)+1]; strcpy(this->TeacherTitle,TeacherTitle); return ; } void CTeacher::PrintTeacher() { cout<<"Teacher'number is "<
                 
                  TeacherNumber<<" Teacher's Name is "<
                  
                   TeacherName<<" Teacher's Title is "<
                   
                    TeacherTitle<
                    
                     
main.cpp文件

#include "Course.h"
#include "Student.h"
#include "Scollege.h"
#include "Primary.h"
#include "StudentList.h"
#include "Teacher.h"
#include "TeacherList.h"
#include 
                      
                       
#include 
                       
                         #include 
                        
                          using namespace std; #define max 2 void print_student(void *data) //应用层打印学生函数 { CStudent *stu=(CStudent *)data; stu->print_studentHuman(); return ; } void print_teacher(void *data) //应用层打印教师函数 { CTeacher *teach=(CTeacher *)data; teach->PrintTeacher(); return ; } int main() { int i; cout<<"学生和教师信息系统"<
                         
                          >stu; for(i=0;i
                          
                           >list2[i].StudentNumber; cout<
                           
                            >buffer4; list2[i].StudentName=new char[strlen(buffer4)+1]; strcpy(list2[i].StudentName,buffer4); cout<
                            
                             >list2[i].HumanAge; cout<
                             
                              >teach; for(i=0;i
                              
                               >list3[i].HumanAge; cout<
                               
                                >list3[i].TeacherNumber; cout<
                                
                                 >buffer5; list3[i].TeacherName=new char[strlen(buffer5)+1]; strcpy(list3[i].TeacherName,buffer5); cout<
                                 
                                  >buffer6; list3[i].TeacherTitle=new char[strlen(buffer6)+1]; strcpy(list3[i].TeacherTitle,buffer6); cout<
                                  
                                   
实现以上增加和打印功能的信息系统,运用到抽象类、继承、链表等C++中常见的知识和数据结构,以下是运行效果:


\

\

\

\

\

\