Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
155.57 Кб
Скачать

Министерство образования и науки Российской Федерации

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра оборудования и автоматизации машиностроения

Допускаю к защите

Руководитель ____________________________

Т.В. Зарак

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

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе по дисциплине

Прикладное программирование

1.003.00.00 ПЗ

Выполнил студент группы КТб-13-1 ________ О. В. Самойленко

шифр подпись И.О. Фамилия

Курсовая работа защищена с оценкой ___________________________________________

Иркутск 2014 г.

Содержание

Задание на курсовую работу………………………………………………….….3

Введение………………………………………………………………………..….4

Программа ……………………………………………………………………..….6

Результат работы программы………………………………………………….....9

Заключение ……………………………………………………………………....14

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

Министерство образования и науки Российской Федерации

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Задание на курсовое проектирование (курсовую работу)

По курсу:

Прикладное программирование

Студенту:

Самойленко Олегу Викторовичу

Тема проекта:

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

Исходные данные:

Определить класс «прямая линия». Определить операции, позволяющие

a) определить угол между двумя прямыми;

b) проверить условия параллельности, перпендикулярности двух прямых;

c) определить координаты точки пересечения двух прямых.

Рекомендуемая литература:

  1. Березин, Б. И. Начальный курс С и С++ / Б. И. Березин, С. Б. Березин . - М.: Диалог-МИФИ, 1999. - 288 с.

  2. Страуструп Б. Язык программирования Си++. – Пер. с англ. – М.:Радио и связь, 1991. – 352 с.

  3. Бруно Бабэ Просто и ясно о Borland C++. – Пер. с англ. – М.: Бином, 1996, - 416 с.

  4. Ален И. Голуб С и С++. Правила программирования. – Пер. с англ. – М.: Бином, 1996. – 272 с.

  5. Симонович С.В. и др. Информатика. Базовый курс. – СПб: Питер, 2000. – 640 с.

  6. Павловская, Татьяна Александровна С/C++. Программирование на языке высокого уровня : учеб. для вузов по направлению "Информатика и вычисл. техника" / Т. А. Павловская . - СПб.и др.: Питер, 2004. - 460 с.

  7. Зарак Т.В. Объектно-ориентированное программирование: Методические указания и задания по выполнеию курсовой работы. – Иркутск, Изд-во ИрГТУ. – 2009. – 16 с.

Дата выдачи задания “ 10 апреля 2013 г.

Дата представления проекта руководителю “ 7 июня 2013 г.

Руководитель курсового проектирования (курсовой работы) _______________________

Введение

Си++ (англ. C++) является языком программирования, знание этого языка программирования позволит вам управлять вашим компьютером на высшем уровне.

Си++ — компилируемый строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную; наибольшее внимание уделено поддержке объектно-ориентированного программирования.

Разработка языка началась в 1979 году. Целью создания C++ было дополнение C возможностями, удобными для масштабной разработки ПО, с сохранением гибкости, скорости и портабельности C. Вместе с тем создатели C++ стремились сохранить совместимость с C: синтаксис первого основан на синтаксисе последнего, и большинство программ на C будут работать и как C++. Изначально новый язык назывался “C с классами”, но затем имя было изменено на C++ — это должно было подчеркнуть как его происходжение от С, так и его превосходство над последним.

Первый выпуск C++ для коммерческого использования состоялся в 1985 году, вместе с публикацией книги “The C++ Programming Language”, которая на долгое время стала его неофициальным стандартом. В 1989 году вышла вторая версия языка в сопровождении книги “The Annotated C++ Reference Manual”.

В 1990-х годах язык стал одним из наиболее широко используемых языков программирования общего назначения. Первым официальным стандартом языка стал ISO/IEC 14882:1998, более известный как  C++98. В 2003 году была принята его дополненная версия, C++03, а в 2005 году был опубликован “Library Technical Report 1” (сокращенно TR1) — документ, описывающий расширения стандартной библиотеки. TR1 не является стандартом, но большинство актуальных компиляторов C++ поддерживает его. Наконец, в 2011 году был принят текущий стандарт, C++11.

Нововведениями C++ в сравнении с C являются:

  • поддержка объектно-ориентированного программирования через классы. C++ предоставляет все четыре возможности ООП — абстракцию, инкапсуляцию, наследование (в том числе и множественное) и полиморфизм.

  • поддержка обобщённого программирования через шаблоны функций и классов;

  • стандартная библиотека C++ состоит из стандартной библиотеки C (с некоторыми модификациями) и библиотеки шаблонов (Standard Template Library, STL), которая предоставляет обширный набор обобщенных контейнеров и алгоритмов;

  • дополнительные типы данных;

  • обработка исключений;

  • виртуальные функции;

  • пространства имён;

  • встраиваемые (inline) функции;

  • перегрузка (overloading) операторов;

  • перегрузка имён функций;

  • ссылки и операторы управления свободно распределяемой памятью.

Основным способом организации информации в Си++ являются классы. В отличие от типа структура (struct) языка Си, состоящей только из полей, класс (class) Си++ состоит из полей и функций-членов (member functions). Поля бывают публичными (public), защищёнными (protected) и собственными (приватными, private). В Си++ тип структура аналогичен типу класс, отличие в том, что по умолчанию поля и функции-члены у структуры публичные, а у класса - собственные.

С публичными полями можно делать снаружи класса всё, что угодно. К защищённым и собственным полям нельзя обращаться извне класса, чтобы не нарушить целостность данных класса. Попытка такого обращения вызовет ошибку компиляции. К таким полям могут обращаться только функции-члены класса (а также так называемые функции-друзья и функции-члены классов-друзей; о понятии друзей в C++ см. ниже.) Вне тела функций-членов (а также друзей) защищённые и собственные поля недоступны даже для чтения. Такая защита полей называется инкапсуляцией.

Используя инкапсуляцию, автор класса может защитить свои данные от некорректного использования. Кроме того, она задумывалась для облегчения совместной разработки классов. Имелось в виду, что при изменении способа хранения данных, если они объявлены как защищенные или собственные, не требуется соответствующих изменений в классах, которые используют измененный класс. Например, если в старой версии класса данные хранились в виде линейного списка, а в новой версии - в виде дерева, те классы, которые были написаны до изменения формата хранения данных, переписывать не потребуется, если данные были приватными или защищенными (в последнем случае - если использующие классы не были классами-наследниками), так как ни один из них этих классов не мог бы напрямую обращаться к данным, а только через стандартные функции, которые в новой версии должны уже корректно работать с новым форматом данных. Даже оператор доступа operator может быть определён как такая стандартная функция.

Функции-члены, как и поля, могут быть публичными, защищёнными и собственными. Публичные функции может вызывать кто угодно, а защищённые и собственные - только функции-члены и друзья.