00001 #ifndef _pa_test_OBJECTCOLLECTION_FIRST 00002 #define _pa_test_OBJECTCOLLECTION_FIRST 00003 00004 #include "Object.h" 00005 00006 class ObjectLink; 00007 00008 class ObjectCollection : public Object { 00009 00010 friend class CollectionIterator; 00011 00012 public: 00013 00014 ObjectCollection (); 00015 ~ObjectCollection (); 00016 00017 virtual class Object *Get (int pAt); 00018 virtual void Put (Object *pO); 00019 00020 private: 00021 00022 ObjectLink *First; 00023 ObjectLink *Last; 00024 00025 public: 00026 00027 bool IsEmpty (); 00028 int GetLength (); 00029 00030 void Print (); 00031 00032 protected: 00033 00034 void SetFirst (ObjectLink*); 00035 void SetLast (ObjectLink*); 00036 00037 private: 00038 00039 ObjectLink *GetLast (); 00040 ObjectLink *GetFirst (); 00041 00042 int NumberOfObjects; 00043 00044 }; 00045 00046 #endif