/* CS471B Assignment 2: University Instructor: Wade Holst Submitted by: Dan Fraser Student number: 001219229 File Name: University.c File description: University aggregate class interface */ #ifndef _UNIVERSITY_H_ #define _UNIVERSITY_H_ #include #include #include "Faculty.h" class Professor; //using singleton pattern class University : public Interface { public: ~University(); static University* Instance(); // get a copy of the instance virtual void add(FacultyComponent *); // add a faculty/person virtual void del(FacultyComponent *); // del a faculty/person virtual int getTopMark() const; // get the top mark virtual int getTotalStudents() const; // get the number of students virtual int getTotalPeople() const; // get the total number of people virtual Professor * getTopProfessor() const; // find the top prof protected: University() {}; // protected -- can't instantiate directly private: vector _faculties; static University* _instance; // stores the instance of the class }; #endif