// Martian Adam Smyth // CS510 Assignment 1 // Set Class Header definition file #ifndef _SET_H #define _SET_H #include "linkobj.h" #include "element.h" class LinkElement : public LinkObj, public Element { public: LinkElement(void) {}; LinkElement(const char *n, LinkElement *l) : LinkObj(l), Element(n) {}; virtual void print(void) {return;}; virtual LinkElement *makecopy(void); }; class SetClass { private: LinkElement *head; public: // LinkElement *head; SetClass(void) {head=0;}; ~SetClass(void); int printset(void); int ins(LinkElement *); int del(char *); int init(void); int is_member(char *); int is_member(LinkElement *); SetClass* operator||(SetClass &); // Union SetClass* operator&&(SetClass &); // Intersection LinkElement* operator[](int); // Array-type indexing LinkElement* operator[](const char *); // AssocList-type indexing }; #endif