00001
00002
00003
00004 #if !defined(faculty_h)
00005 #define faculty_h
00006 #include <string>
00007 #include <vector>
00008 #include <cstdlib>
00009 using namespace std;
00010
00011
00012
00013
00014
00015 #include "employee.h"
00016
00017 #pragma warning( disable : 4786 )
00018
00019 typedef vector<int> vectorint;
00020 typedef vector<string> vectorstring;
00021
00022
00023 class faculty : public employee
00024 {
00025 public:
00026 faculty();
00027 virtual ~faculty();
00028 faculty(const faculty& f);
00029 const faculty& operator=(const faculty& f);
00030 virtual void removec(int index);
00031 virtual void removea(int index);
00032 virtual void removes(int index);
00033
00034 public:
00035 inline vectorint getCourses() const
00036 {
00037 return m_courses;
00038 }
00039
00040 inline vectorstring getInterests() const
00041 {
00042 return m_resInterests;
00043 }
00044
00045 inline void setCourses(const vectorint& courses)
00046 {
00047 m_courses.assign(courses.begin(),courses.end());
00048 }
00049
00050 inline void setInterests(const vectorstring& interests)
00051 {
00052 m_resInterests.assign(interests.begin(), interests.end());
00053 }
00054
00055 string ToParse(int fld);
00056 string ToString();
00057 string ToFileFmt();
00058
00059 protected:
00060 void copy(const faculty& f);
00061
00062
00063
00064
00065 vectorint m_courses;
00066
00067
00068
00069 vectorstring m_resInterests;
00070
00071 private:
00072
00073
00074 };
00075
00076 #endif