ЛабораторияОФ2013
.docЛабораторные работы для ОФ (бакалавры)
по курсу «Объектно-ориентированное программирование»
2013-2014 уч.год
Лабораторная работа №1
«Классы. Протоколы классов»
Разработать
класс «ДатаВремя» с точностью представления
времени в 1 секунду. Определить
конструкторы, позволяющие инициализировать
объекты с заданным значением секунд,
текущими значениями даты и времени по
компьютеру, с текущей датой и заданным
временем, с заданной датой и текущим
временем, с произвольными датой и
временем. Определить метод получения
значения в секундах. Переопределить
операции с секундами: +, +=, ++ (префиксная
и суффиксная формы), с объектами: -
(получение разницы в секундахс
объектами: - ()сная формыачения в секундах.
льными датой и временем. начениями по
компьютеру,
Лабораторная работа №2
«Конструктор копирования. Оператор присваивания»
Разработать класс «Вектор» произвольной размерности с целочисленными координатами. Задать конструкторы, позволяющие инициализировать объекты с нулевыми и произвольными координатами, а также создавать точную копию уже заданного объекта. Задать деструктор. Обеспечить доступ к размерности. Переопределить операции: =, +, +=, - (унарный), - (бинарный), -=, * (скалярное произведение), () (модуль), << (вывод в поток) и индексирования [], позволяющего читать и изменять соответствующие координаты.
Лабораторная работа №3
«События. Взаимодействие объектов»
Используя разработанный в работе №1 класс и стандартные классы Qt: QTimer – счет времени, QWidget, QLabel, QCheckBox – задание пользовательского интерфейса, разработать программу, в которой:
-
при выборе режима счета запускается или останавливается секундный таймер,
-
при выборе режима отображения появляется или исчезает окно отображения времени,
-
события от таймера в режиме счета передаются в объект класса «ДатаВремя» и изменяют его,
-
если окно отображения открыто, то событие изменения объекта «ДатаВремя» передается в интерфейсный объект для отображения.