Создать класс с использованием динамической памяти для реализации множества строк. Класс с именем MySet включает следующие члены:
• Члены - данные (private)
o size – количество элементов в множестве
o elements – указатель на строку, содержащий адрес динамического массива строк
• Конструкторы и деструктор
o Конструктор без параметров для создания пустого множества
o Конструктор с одним строковым параметром для создания множества размером 1
o Конструктор, копирующий множество
o Деструктор
• Методы доступа
o Size для возврата количества элементов в множестве
o IsElement, который даёт true, если строка-параметр есть в множестве, иначе даёт false
• Методы изменения
o AddElement для добавления строки в множество, если её там ещё нет
o DeleteElement для удаления строки из множества, если она там есть
• Операторы
o [ ] для возврата ссылки на элемент множества
o операторы присваивания =, -=, +=, *= где - означает разность, + - объединение и * - пересечение. (См. примеры ниже.)
Функции – не члены класса (не друзья класса!)
o Функция печати элементов множества - не более 5 элементов в строке
o Операторы + (объединение), - (разность), * (пересечение) и == (сравнение: истина, если элементы двух множеств совпадают).
Например:
{1, 4, 5, 6} + {1, 2, 3, 4} => {1, 2, 3, 4, 5, 6}
{1, 4, 5, 6} * {1, 2, 3, 4} => {1, 4}
{1, 4, 5, 6} - {1, 2, 3, 4} => {5, 6}
Нельзя добавлять методы-члены класса в раздел public и данные-члены в раздел private. При желании можно добавить методы в раздел private.