Объектно-ориентированное программирование. Программирование на языке С++.
Автор: Dayssi • Декабрь 24, 2018 • Курсовая работа • 11,573 Слов (47 Страниц) • 562 Просмотры
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
НЕФТИ И ГАЗА (НИУ) ИМЕНИ И.М. ГУБКИНА
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИ
КУРСОВАЯ РАБОТА
по теме:
«Объектно-ориентированное программирование. Программирование на языке С++.»
Студентка группы АМ-16-06
Моргаленко Дарья
Научный руководитель:
к.ф.-м.н., доцент Дымов В.В.
ассистент Хусейнов А.Т.
Москва 2017
Содержание:
Введение3
Глава 1. Структуры4
Глава 2. Объекты и классы5
Глава 3. Перегрузка операций10
Глава 4. Наследование13
Глава 5. Полиморфизм15
Заключение17
Приложение 1. Бинарное дерево поиска18
Приложение 2. Наследование. Иерархия: точка → шар → усеченный шар.28
Введение.
В ходе становления и развития компьютерной оснащенности, задачи, которые ставятся перед программистами, становятся все более сложными, что вызывает необходимость модернизации языков программирования. Именно так, в свое время, началось развитие объектно-ориентированного метода программирования. Обусловлено это было ограниченностью других методов, разработанных ранее. С уверенностью можно сказать, что процедурное программирование хорошо подходит для описания конкретного набора действий, но, как выяснилось на практике, не подходит для описания абстрактных объектов. Чаще всего сложность поставленной задачи заключается именно в сложности объекта, с которым необходимо работать. В реальном мире нам приходится иметь дело с физическими объектами, например, с людьми или машинами. Эти объекты нельзя отнести ни к данным, ни к функциям, поскольку реальные вещи представляют собой совокупность свойств и поведения. Например, мы поднимаем голову к небу и видим «летит птица», другими словами «у объекта птица» была вызвана функция «лететь», но для нас это просто «летящая птица».
Ни отдельно взятые данные, ни отдельно взятые функции не способны адекватно отобразить объекты реального мира. Поэтому можно сказать, что основополагающей идеей объектно-ориентированного подхода является объединение данных и действий, производимых над этими данными, в единое целое, которое называется объектом.
Выделяют три основных принципа объектно-ориентированного программирования: инкапсуляция (сокрытие данных), наследование и полиморфизм. Изучение этих базовых принципов и методов работы с ними является целью данной курсовой работы.
Для достижения поставленной цели, были реализованы следующие задачи:
- осуществление принципов работы с бинарным деревом поиска, как с объектом класса;
- создание иерархии: точка → шар → усеченный шар;
Глава 1. Структуры.
Прежде, чем переходить к созданию объектов с помощью классов, необходимо ознакомиться с другим, не менее важным, способом создания пользовательских типов данных – с помощью структур.
Структура является объединением простых переменных. Эти переменные могут иметь различные типы: int, double и т. д. (именно разнородностью типов переменных структуры отличаются от массивов, в которых все переменные должны иметь одинаковый тип). Переменные, входящие в состав структуры, называются полями структуры. Определение структуры задает ее внутреннюю организацию, описывая поля, входящие в состав структуры.
Использование такого инструмента, как структуры необходимо было реализовать на примере бинарного дерева. Обратимся к листингу 1.1.
Листинг 1.1
[pic 1]
#include
#include
#include
using namespace std;
struct Node{
int key;
struct Node *left, *right;
};
typedef Node *PNode;
[pic 2]
Определение структуры начинается с ключевого слова struct. Затем следует имя структуры, в данном случае Node. Объявления полей структуры заключены в фигурные скобки. После закрывающей фигурной скобки следует точка с запятой (;) — символ, означающий конец определения структуры.
...