class Set { public: Set (); virtual ~Set (); const Set& operator= (const Set&); virtual Set& add(int); virtual bool member (int) const; virtual Set& clear(); int extent () const; protected: int size; virtual void copyMembers (Set& into) const; }; /* With inline we ask the compiler to try to replace a function invocation for its function body. */ inline int Set::extent() const { return size; }