Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Интересное:
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
2021-12-07 | 38 |
5.00
из
|
Заказать работу |
Воспользуйтесь в качестве заготовки программой из работы №9 (индивидуальное задание С). Удалите из класса описание перегруженного оператора сложения. Модифицируйте функции Draw 1() и Draw 2() так, чтобы первая выводила в окно заданную фигуру толстым цветным пером, а вторая – тонким черным. Объявите в качестве глобальных переменных четыре указателя на объекты вашего класса. В части а работы будет использоваться одна пара этих указателей; в части б – другая.
Включите в приложение обработку сообщения WM _ CREATE. В функции OnCreate () создайте два объекта класса (используя объявленные ранее указатели): один – вызовом конструктора с некоторым разумным набором аргументов, а второй – “пустой” (с помощью конструктора по умолчанию). В функции OnPaint () последовательным вызовом для этого объекта обеих функций Draw () выведите в окно два изображения объекта. Убедитесь в том, что изображения геометрически совпадают.
а. Запись объекта на диск и чтение с диска традиционными файловыми функциями Windows. Включите в функцию OnCreate () предложения создания файла, записи в него содержимого вашего объекта, сброса указателя в файле в начало файла и чтения данных с диска в созданный заранее второй (неинициализированный) объект. В функции OnPaint () выведите (разными функциями Draw ()) изображения обоих объектов – исходного и заполненного данными с диска. Убедитесь в совпадении изображений.
б. Запись объекта на диск и чтение с диска с помощью потоков ввода-вывода. Подключите к программе заголовочный файл < fstream. h >. Создайте в функции OnCreate () третий объекта вашего класса с отличным набором аргументов и четвертый – “пустой”. Создайте поток файлового вывода – объект класса ofstream, указав в аргументах конструктора новое имя файла. Вызовом функции write () для объекта потока запишите в файл содержимое объекта. В качестве аргументов этой функции указывается адрес объекта, приведенный к типу char *, и размер объекта в байтах. Закройте поток вывода.
Создайте поток файлового ввода – объект класса ifstream. Вызовом функции read () для этого объекта прочитайте данные с диска в четвертый (неинициализированный) объект. В функции OnPaint () выведите в окно изображения обоих объектов. Убедитесь в совпадении изображений.
Работа №13. Перегрузка в прикладном классе операторов
вставки и извлечения
Выполняя запись и чтение с помощью потоков ввода-вывода, удобно вместо относительно громоздких предложений с потоковыми функциями write () и read () использовать операторы вставки в поток (<<) и извлечения из потока (>>). Однако эти операторы C++, перегруженные для потоков, по умолчанию осуществляют преобразование числовых данных в символьные и наоборот. Для того, чтобы осуществлять запись и чтение числовых данных (что обычно и требуется в прикладных программах обработки результатов экспериментов или моделирования), необходимо перегрузить операторы вставки и извлечения применительно к составу прикладного класса.
Воспользуйтесь в качестве заготовки текстом предыдущей работы. Включите в состав вашего класса перегруженные операторы << и >>, объявив их дружественными операторными функциями.
В файле с исходным текстом программы определите содержимое перегруженных операторных функций. Каждая из них должна посредством функций write () и read () посылать в поток или извлекать из потока последовательно все члены вашего класса. Не забудьте, что в качестве аргументов этих функций указываются адреса пересылаемых данных, приведенные к типу char *, и их размер в байтах.
Как и в предыдущей работе, создайте в функции OnCreate () объект вашего класса с некоторым набором аргументов и второй, “пустой” объект. Создайте поток файлового вывода – объект класса ofstream, указав в аргументах конструктора новое имя файла. Перешлите содержимое объекта вашего класса в файл, используя оператор вставки в поток (<<). Закройте поток вывода.
Создайте поток файлового ввода – объект класса ifstream. С помощью операторы извлечения из потока (>>) прочитайте данные с диска в неинициализированный объект вашего класса. В функции OnPaint () выведите в окно изображения обоих объектов. Убедитесь в совпадении изображений.
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!