Автор: Пользователь скрыл имя, 27 Января 2012 в 09:00, курсовая работа
Целью курсовой работы является разработка программы имитирующей работу обычных стрелочных часов.
Первая глава посвящена анализу технического задания, определяется что нужно создать, какие библиотеки будут использоваться.
Во второй главе будет рассказано о выбранном языке программирования, о его возможностях и особенностях.
В третьей главе будет подробно описано создание требуемых для решения задачи классов.
ВВЕДЕНИЕ 3
1. Анализ технического задания 5
2. Выбор языка программирования 6
3. Конструирование классов 15
4. Описание программы 20
ЗАКЛЮЧЕНИЕ 24
Список литературы 25
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
1. Анализ технического задания 5
2. Выбор языка программирования 6
3. Конструирование классов 15
4. Описание программы 20
ЗАКЛЮЧЕНИЕ 24
Список литературы 25
Приложение А 26
Приложение
B 32
ВВЕДЕНИЕ
За
последние десятилетия
Современным программистам приходится иметь дело с огромным количеством разнообразных языков программирования различных уровней и назначений.
В
настоящее время при разработке
сложного программного обеспечения
обычно используют одну из двух технологий:
структурное программирование или
объектно-ориентированное
Целью курсовой работы является разработка программы имитирующей работу обычных стрелочных часов.
Первая
глава посвящена анализу
Во второй главе будет рассказано о выбранном языке программирования, о его возможностях и особенностях.
В третьей главе будет подробно описано создание требуемых для решения задачи классов.
Четвертая глава «Описание программы» посвящена подробному описанию разработанной программы. А полный исходный код программы будет приведен в приложении А.
Кроме того в приложении В будут приведены примеры работы приложения.
По условию задания необходимо создать обыкновенные часы с тремя стрелками. Любые стрелочные часы включают в себя три стрелки: часовую, минутную и секундную, а также циферблат. Каждая стрелка характеризуется следующими признаками: координаты основания, длиной и шириной, цветом. Координаты основания для всех трех стрелок одинаковы. Циферблат имеет координаты центра и радиус.
В условии сказано, что нужно создать абстрактный объект «стрелка», т.е. необходимо создать абстрактный класс «стрелка», в котором будет описано следующее: координаты основания, общие для всех объектов этого класса и объектов классов-потомков; функция рисования/стирания объекта; функция изменения цвета объекта; функция, изменяющая положение объекта; функция изменения координат. От этого абстрактного класса необходимо создать три класса-потомка для каждой стрелки, и в каждом классе переопределить функцию рисования/стирания объекта.
Циферблат будет рисоваться отдельной функцией.
Алгоритм изменения положений стрелок следующий:
C++
— компилируемый статически
Являясь
одним из самых популярных языков
программирования, C++ широко используется
для разработки программного обеспечения.
Область его применения включает
создание операционных систем, разнообразных
прикладных программ, драйверов устройств,
приложений для встраиваемых систем,
высокопроизводительных серверов, а
также развлекательных
При создании C++ Бьёрн Страуструп стремился сохранить совместимость с языком C. Множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико — отчасти благодаря тому, что синтаксис C++ был основан на синтаксисе C.
Рассмотрим
C++
добавляет к C объектно-ориентированные
возможности. Он вводит классы,
которые обеспечивают три
В C++ при наследовании одного класса от другого наследуется реализация класса, плюс класс-наследник может добавлять свои поля и функции или переопределять функции базового класса. Множественное наследование разрешено. Конструктор наследника вызывает конструкторы базовых классов, а затем конструкторы нестатических членов-данных, являющихся экземплярами классов. Деструктор работает в обратном порядке. Наследование бывает публичным, защищённым и закрытым (т. е. закрытого типа). Наследник — это больше чем базовый класс, поэтому, если наследование открытое, то он может использоваться везде, где используется базовый класс, но не наоборот.
Полиморфизмом в программировании называется переопределение наследником функций-членов базового класса. В C++ есть и динамический полиморфизм, когда вызываемая функция определяется во время выполнения. Для этого функции-члены базового класса должны быть объявлены виртуальными. Чисто виртуальной функцией называется виртуальная функция-член, которая объявлена со спецификатором = 0. Чисто виртуальная функция может быть оставлена без определения, кроме случая, когда требуется произвести её вызов.
Абстрактным классом называется такой, у которого есть хотя бы одна чисто виртуальная функция-член. Объекты таких классов создавать запрещено. Абстрактные классы часто используются как интерфейсы. В отличие от чистых интерфейсов других языков, абстрактные классы С++ могут иметь невиртуальные функции и члены-данные.
Основным
способом организации информации в
C++ являются классы. В отличие от
структуры (struct) языка C, которая может
состоять только из полей и вложенных
типов, класс (class) C++ может состоять
из полей, вложенных типов и функций-
Доступ | private | protected | public |
Сам класс | да | да | да |
Друзья | да | да | да |
Наследники | нет | да | да |
Извне | нет | нет | да |
Проверка
доступа происходит во время компиляции,
попытка обращения к
В классах всегда есть специальные функции — конструкторы и деструкторы, которые могут быть объявлены явно или неявно. Конструктор вызывается для инициализации объекта (соответствующего типа) при его создании, а деструктор — для уничтожения объекта. В частности, конструктор может быть вызван для выполнения преобразования к классовому типу. Конструкторы обозначаются как одноимённые классу функции, деструкторы — как имя класса, предварённое тильдой. Для конструкторов и деструкторов нельзя указывать тип возврата. Деструктор нельзя объявлять как принимающий аргументы. Класс может иметь сколько угодно конструкторов (с разными наборами параметров), в том числе шаблонных, и только один (причём нешаблонный) деструктор. Конструктор без параметров или конструктор, все параметры которого имеют аргументы по умолчанию, называется конструктором по умолчанию, нешаблонный конструктор с первым параметром-ссылкой на тот же класс и остальными параметрами (если таковые есть), имеющими аргументы по умолчанию, — конструктором копирования, он вызывается при создании нового объекта, являющегося копией уже существующего объекта. Если в классе нет явно объявленных конструкторов, то класс имеет неявно объявленный конструктор без параметров. Если в классе нет явно объявленных копирующих конструкторов, то класс имеет неявно объявленный копирующий конструктор. Если в классе нет явно объявленного деструктора, то класс имеет неявно объявленный деструктор.
Графические функции graphics.h
Координаты на графическом экране выглядят следующим образом, в отличие от математической системы координат.
Палитра
Наиболее часто используется графический режим монитора, при котором поддерживается разрешение 640*480*16. Здесь 16 – это максимальное количество цветов, которое одновременно может присутствовать на изображении. В файле graphics.h определены константы, соответствующие цветам стандартной (используемой по умолчанию) палитры. Это соответствие отражено в таблице
|
Информация о работе Разработка программы имитирующей работу обычных стрелочных часов