#include "DynStr.h" #include #include class WordCollection { DynStr* words; int* sortedPos; int count; int storedWordsCount; int length; void free(); void copyFrom(const WordCollection& other); void resize(); void insertSortedPos(int index, int value); void removeSortedPos(int index); int findSortedPosIndexFirstBigger(const char* str) const; int findSortedPosIndex(const char* str) const; public: WordCollection(); WordCollection(const WordCollection& other); WordCollection& operator=(const WordCollection& other); ~WordCollection(); WordCollection& operator+=(const WordCollection& other); WordCollection& operator-=(const WordCollection& other); WordCollection& operator*=(const char* str); WordCollection& operator/=(const char* str); friend std::ostream& operator<<(std::ostream& ostrm, const WordCollection& collection); friend std::istream& operator>>(std::istream& istrm, WordCollection& collection); bool operator[](const char* str) const; }; const WordCollection operator+(const WordCollection& lhs, const WordCollection& rhs); const WordCollection operator-(const WordCollection& lhs, const WordCollection& rhs);