Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на C / C++


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Академик
Рейтинг: 8831
∙ повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Профессор
Рейтинг: 3406
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2590
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / C/C++

Номер выпуска:1713
Дата выхода:27.12.2011, 23:00
Администратор рассылки:Киселёва Алёна aka Verena (Профессор)
Подписчиков / экспертов:276 / 162
Вопросов / ответов:1 / 1

Консультация # 184929: Здравствуйте, уважаемые эксперты! Прошу переработать программу в приложение с учётом 3его пункта задания. Пожалуйста, сделайте как можно быстрей. С наступающим праздником! Задание: 1. Разработать класс "множество символов" в соответствии со следующим заданием: Состояние класса - Множество состоит из элементов типа char (в множ...


Консультация # 184929:

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

Дата отправки: 22.12.2011, 22:23
Вопрос задал: Посетитель - 383089 (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Киселёва Алёна aka Verena (Профессор):

Здравствуйте, Посетитель - 383089!
Собственно, разница только в использовании динамической памяти внутри класса, поэтому основную программу можно вообще не менять. Я сделала в лоб, при добавлении элемента память перевыделяется. Если Вам нужен более оптимальный вариант, когда память не по одному символу выделяется, а блоками, пишите, я переделаю.

Код в приложении, проверен на MSVS 2005.

Удачи!

Приложение:

Консультировал: Киселёва Алёна aka Verena (Профессор)
Дата отправки: 27.12.2011, 14:05
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное