По алфавиту:

Указатель категорий Программирование Автоматизация учёта выполняемых работ на предприятиях

Автоматизация учёта выполняемых работ на предприятиях

ВУЗ: МИУ
Тип работы: Курсовая работа
Предмет: Программирование
Количество страниц: 46
Язык документа: Русский
Год сдачи: 2010
Последнее скачивание: не скачивался

Содержание.

ВВЕДЕНИЕ 5
1 ПРЕОБРАЗОВАНИЕ ТИПОВ ПРИ НАСЛЕДОВАНИИ 7
2 РАБОТА С БИБЛИОТЕКОЙ MATH.H НА ПРИМЕРАХ 11
3 ЗАДАЧА 20
ЗАКЛЮЧЕНИЕ 23
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 24
ПРИЛОЖЕНИЕ 1 25
Пример 1 25
Пример 2 25
Пример 3 26
Пример 4: 26
Пример 5: 27
Пример 6: 28
Пример 7: 28
Пример 8: 29
Пример 9: 29
Пример 10: 30
Пример 11: 30
Пример 12: 31
Пример 13: 31
ПРИЛОЖЕНИЕ 2 32
 

Описание.

Курсовая работа на тему: «Автоматизация учета выполняемых работ на предприятиях».Пояснительная записка и  программа.
Объём работы 46 страниц, 3 таблицы, 4 литературных источника, 2 приложения.
Ключевые слова: базовый класс, производный класс, символьная строка, передача информации, функции сортировки, функции вывода, запись и чтение файла, стандартная библиотека.
Курсовая работа состоит из оглавления, введения, 3 разделов, заключения, списка использованных источников и 2 приложений.
В первом разделе курсовой работы дается ответ на теоретический вопрос «Преобразование типов при наследовании».
Во втором разделе приводится описание стандартного модуля math.h языка программирования С++ и его функциях, описываются функции и приводится в приложении 1 примеры работы функций.
В третьей части курсовой работы описывается разработанная программа на языке С++ с использованием классов, применяя наследование классов. Программа для удобства пользования содержит меню, и позволяет все введенные данные сохранять в файл для последующего чтения из него. Исходный текст программы приводится в приложении 2 данной курсовой работы.
 

Выдержка из работы.

ПРЕОБРАЗОВАНИЕ ТИПОВ ПРИ НАСЛЕДОВАНИИ
Аппарат наследования классов предусматривает возможности преобразования типов между суперклассом и подклассом. Преобразование типов в каком-то смысле является формальным. Сам объект при таком преобразовании не изменяется, преобразование относится только к типу ссылки на объект.
Рассмотрим это на примере.

Пример
class A {
int x;
. . .
}

class B extends A {
int y;
. . .
}

B b = new B();
A a = b; // здесь происходит формальное преобразование типа: B => A

Различаются два вида преобразований типов — upcasting и downcasting. Повышающее преобразование (upcasting) — это преобразование от типа порожденного класса (от подкласса) к базовому (суперклассу). Такое преобразование допустимо всегда. На него нет никаких ограничений и для его проведения не требуется применять никаких дополнительных синтаксических конструкций (см. предыдущий пример). Это связано с тем, что объект подкласса всегда в себе содержит как свою часть объект суперкласса.
Понижающее преобразование (downcasting) — это преобразование от суперкласса к подклассу. Такое преобразование имеет ряд ограничений. Во-первых, оно может задаваться только явно при помощи операции преобразования типов, например,

B b1 = (B)a;
Во-вторых, объект, подвергаемый преобразованию, реально должен быть того класса, к которому он преобразуется. Если это не так, то возникает исключение ClassCastException в процессе выполнения программы.
Все это выглядит странно, для тех, кто не знаком с ООП. Действительно, получается, что единственная допустимая ситуация, когда такое преобразование возможно, это когда мы построили объект класса B, где B вляется подклассом A, затем зачем-то преобразовали его к классу A, а потом, опять же непонятно для чего, преобразовали его обратно к классу B.
На самом деле это имеет смысл. Для класса A может быть создан программный код, выполняющий что-то полезное. Он имеет свои методы, и они предполагают работу с объектами класса A.
Потом те, кто желают воспользоваться этим программным кодом, строят подкласс B класса A. Но при работе с программным кодом, разработанным для класса A, приходится объекты класса B преобразовывать к классу A (upcasting), поскольку программный код для класса A ничего не знает о классе B (и ему подобных).
Получив какие-то результаты от программного кода класса A, нужно опять вернуться к работе с классом B (downcasting). Это один из типичных сценариев, требующих преобразования типов как в одну, так и в другую сторону.
Для проверки типа объекта есть операция instanceof. Она часто применяется при понижающем (downcasting) преобразовании. Эта операция проверяет, имеет ли ее левый операнд класс, заданный правым операндом.
if ( a instanceof B )
b1 = (B)a;

Список литературы.

1. Керниган Б., Ритчи Д. Язык программирования С++. - М.: Финансы и статистика, 1998.
2. Подбельский В.В., Фомин С.С. Программирование на языке С++: Учебное пособие. 2-е доп. изд. - М.: Финансы и статистика, 1999.
3. Страуструп Б. Язык программирования С++. – М.:СПб.: «Издательство БИНОМ» - «Невский диалект», 2001 г.
4. Х.Дейтел, П.Дейтел. Как прграммировать на С++: Пер. с англ. – М.: ЗАО «Издательство БИНОМ», 2001 г.

 

Похожие работы:
© 2009-2019 Все права защищены — dipland.ru