#ifndef PLANTITERATOR_HH #define PLANTITERATOR_HH /* * Katie Lewis * April 2004 * Note: In codeing this referred to code examples from * Professor Kuenning and Matt Gnaizda. */ #include "node.hh" #include "plant.hh" #include using namespace std; class Node; class Plant; class PlantIterator { public: PlantIterator(); // Constructor PlantIterator(Node* root); // Constructor w/ input PlantIterator(const Plant&); // Constructor w/ input PlantIterator(PlantIterator& iterator); // Copy Constructor ~PlantIterator(); // Destructor PlantIterator& operator=(PlantIterator& // Assignment Op iterator); operator bool(); // true if more nodes // ...to iterate over PlantIterator& operator++(); // Move to the next // ...node Node* operator*(); // Return value of // ...current node Node* current; // Points to current private: Node* root; // Keeps track of root queue pending; }; #endif // PlantIterator_HH