#ifndef SETL_H #define SETL_H #include using namespace std; class Set { public: Set( ); Set( const Set & rhs ); ~Set( ); const Set & operator= ( const Set & rhs ); int size( ) const; bool isEmpty( ) const; void clear( ); bool add( const string & x ); bool remove( const string & x ); bool contains( const string & x ) const; private: struct Node { string data; Node *next; Node( const string & d = "", Node *n = NULL ) : data( d ), next( n ) { } }; Node *first; int theSize; // Needed so size() is efficient. }; #endif