Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛабораторияОФ2013

.doc
Скачиваний:
64
Добавлен:
06.12.2013
Размер:
27.65 Кб
Скачать

Лабораторные работы для ОФ (бакалавры)

по курсу «Объектно-ориентированное программирование»

2013-2014 уч.год

Лабораторная работа №1

«Классы. Протоколы классов»

Разработать класс «ДатаВремя» с точностью представления времени в 1 секунду. Определить конструкторы, позволяющие инициализировать объекты с заданным значением секунд, текущими значениями даты и времени по компьютеру, с текущей датой и заданным временем, с заданной датой и текущим временем, с произвольными датой и временем. Определить метод получения значения в секундах. Переопределить операции с секундами: +, +=, ++ (префиксная и суффиксная формы), с объектами: - (получение разницы в секундахс объектами: - ()сная формыачения в секундах. льными датой и временем. начениями по компьютеру,0000000000000000000000000000000), << (вывод в поток текстового представления), операции сравнения (>,>=,<,<=,==,!=).

Лабораторная работа №2

«Конструктор копирования. Оператор присваивания»

Разработать класс «Вектор» произвольной размерности с целочисленными координатами. Задать конструкторы, позволяющие инициализировать объекты с нулевыми и произвольными координатами, а также создавать точную копию уже заданного объекта. Задать деструктор. Обеспечить доступ к размерности. Переопределить операции: =, +, +=, - (унарный), - (бинарный), -=, * (скалярное произведение), () (модуль), << (вывод в поток) и индексирования [], позволяющего читать и изменять соответствующие координаты.

Лабораторная работа №3

«События. Взаимодействие объектов»

Используя разработанный в работе №1 класс и стандартные классы Qt: QTimer – счет времени, QWidget, QLabel, QCheckBox – задание пользовательского интерфейса, разработать программу, в которой:

  • при выборе режима счета запускается или останавливается секундный таймер,

  • при выборе режима отображения появляется или исчезает окно отображения времени,

  • события от таймера в режиме счета передаются в объект класса «ДатаВремя» и изменяют его,

  • если окно отображения открыто, то событие изменения объекта «ДатаВремя» передается в интерфейсный объект для отображения.