Aggregate.h 461 B

12345678910111213141516171819202122232425
  1. #pragma once
  2. class Iterator;
  3. typedef int Object;
  4. class Aggregate {
  5. public:
  6. Aggregate();
  7. virtual ~Aggregate();
  8. //virtual Iterator* CreateIterator() = 0;
  9. virtual Object GetItem(int idx) = 0;
  10. virtual int GetSize() = 0;
  11. };
  12. class ConcreteAggreaget :public Aggregate {
  13. public:
  14. enum { SIZE = 3 };
  15. ConcreteAggreaget();
  16. //Iterator* CreateIterator();
  17. Object GetItem(int idx);
  18. int GetSize();
  19. private:
  20. Object _objs[SIZE];
  21. };