Консультация # 184929: Здравствуйте, уважаемые эксперты! Прошу переработать программу в приложение с учётом 3его пункта задания. Пожалуйста, сделайте как можно быстрей. С наступающим праздником! Задание: 1. Разработать класс "множество символов" в соответствии со следующим заданием: Состояние класса - Множество состоит из элементов типа char (в множ...
Здравствуйте, уважаемые эксперты! Прошу переработать программу в приложение с учётом 3его пункта задания. Пожалуйста, сделайте как можно быстрей. С наступающим праздником! Задание: 1. Разработать класс "множество символов" в соответствии со следующим заданием: Состояние класса - Множество состоит из элементов типа char (в множестве не может быть двух элементов с одинаковыми значениями) и определяется мощностью (количеством элементов в множестве) и значениями своих элементов, например:
множество из 6 элементов - строка abcdef. Память под множество выделяется статически, во время компиляции, и задается массивом фиксированного предельного значения (например, максимальная мощность множества 100 элементов). Протокол класса - Определяет возможности создания и инициализации экземпляров класса и правила использования их (методы класса). Предусмотреть следующие возможности: ∙ пустой конструктор для инициализации экземпляров и массивов экземпля
ров класса по умолчанию; ∙ создание экземпляров класса с инициализацией мощностью множества (начальное множество - символы, начиная с символа пробел); ∙ создание экземпляров класса с инициализацией значениями элементов множества как строки символов; ∙ ввод экземпляров класса из входного потока и вывод их значений в выходной поток (с помощью перегруженных операторов >> и << ); ∙ объединение двух множеств (с помощью перегруженного оператора сложения +; результирующее множество должно
содержать элементы множества 1 и отличающиеся элементы множества 2); ∙ добавление нового элемента в множество (с помощью перегруженного оператора += ); ∙ вычисление пересечения двух множеств (с помощью перегруженного оператора умножения *; результирующее множество должно состоять из элементов, имеющихся и в множестве 1, и в множестве 2); ∙ вычисление разности двух множеств (с помощью перегруженного оператора вычитания -; результирующее множество должно состоять
из элементов первого множества без тех, которые есть во втором множестве); ∙ определение, имеется ли некоторый заданный элемент в множестве. 2. Проектирование класса рекомендуется начать с представления состояния класса, учитывающего заданные операции, а затем реализации конструкторов и перегруженного оператора вывода. Для отладки и исчерпывающего тестирования других методов разработанного класса реализовать диалоговую программу, которая позволяет вводить параметры, отлаживаемых методов. 3. Повторить
разработку класса при условии, что память под множество выделяется необходимой длины динамически, во время выполнения программы (с помощью оператора new; память задается указателем на char в состоянии класса). Дополнить интерфейс класса следующими возможностями: ∙ создание экземпляра класса с его инициализацией другим экземпляром класса (копирующий конструктор); ∙ переопределение экземпляра класса (с помощью перегруженного оператора присваивания). 4. Написать прикладную программу, использующую разработанный класс.
Здравствуйте, Посетитель - 383089! Собственно, разница только в использовании динамической памяти внутри класса, поэтому основную программу можно вообще не менять. Я сделала в лоб, при добавлении элемента память перевыделяется. Если Вам нужен более оптимальный вариант, когда память не по одному символу выделяется, а блоками, пишите, я переделаю.
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались.
Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора -
для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение.
Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал,
который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом.
Заходите - у нас интересно!