Видеолекции - Разработка видеолекций по программированию С++
Для записи видео лекций были разработаны программы на С++ с помощью которых были показаны такие темы как создание классов в среде Visual Studio, инкапсуляция, полиморфизм, наследование, создание конструкторов и деструкторов.
Для первой видео лекции была разработанная программа, производящая действия сложения полиномов. Было создано больше операций над полиномами, однако они не были показаны, дабы не усложнять лекции.
Для создания класса использовался инструмент "добавить класс", с помощью которого создаются 3 файла: заголовочный файл, файл с самим классом и файл с основной программой.
Заголовочный файл Polynom. h выглядит следующим образом
(рисунок 6).
Рисунок 6 - Содержание файла polynom. h
Он содержит препроцессорную директиву, разработанная для контроля за тем, чтобы конкретный исходный файл при компиляции подключался строго один раз.
Далее идет заголовочный файл iostream - заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++.
Создается класс Polynom с инкапсулированными данными Deg - степень многочлена и Coef - его коэффициенты, далее идут заголовки методов класса, а именно: конструктор без параметров, конструктор с одним параметром, конструктор с двумя параметрами, копирующий конструктор, деструктор объектов типа Polynom, перегруженные операции присваивания и сложения, вывод полинома на экран средствами консольного вывода.
Файл Polynom. cpp содержит непосредственно сам класс и реализацию его методов.
Для его работы необходим файл предкомпилированных заголовков и подключения заголовочного файла Polynom. h, так же используется стандартное пространство имен (рисунок 7).
Рисунок 7 - Заголовки файла polynom. cpp
Для создание объекта типа многочлен нам понадобятся несколько конструкторов (рисунок 8).
Рисунок 8 - Конструкторы полинома
Первый конструктор выделяет память инициализирует объект, заданный без параметров.
Второй конструктор создает многочлен заданной степени с нулевыми коэффициентами и выделяет для него память.
Третий конструктор с двумя аргументами создает многочлен с заданной степенью и набором коэффициентов и выделяет для него память.
Так же нам понадобится копирующий конструктор (рисунок 9).
Рисунок 9 - Копирующий конструктор
Для освобождения памяти и обнуления коэффициентов изменим стандартный деструктор (рисунок 10).
Рисунок 10 - Деструктор
Для того, чтобы производить операции вида Polynom A + Polynom B необходимо произвести перегрузку стандартного оператора +, то есть описывается процесс сложения полиномов для этого оператора (рисунок 11).
Рисунок 11 - Перегрузка оператора +
Здесь производится сложение объекта Polynom, который находится слева от оператора +, для этого объекта используется this, и полинома, находящегося справа от оператора + - он передается по константной ссылке в виде полинома B. В результате производится сложение коэффициентов многочлена при членах одинаковой степени.
Для того чтобы присвоить значения одного полинома другому так же потребуется перегрузка операции присваивания (рисунок 12).
Рисунок 12 - Перегрузка оператора =
Полиному, стоящему слева от знака = присваивается значение полинома, стоящего справа (полином B) значение которого передается по константной ссылке. видео дистанционный обучение программирование
Для отображения полинома на экране создадим метод, производящий его консольный вывод (рисунок 13).
Рисунок 13 - Метод вывода полинома на экран
С помощью данного метода производится консольный вывод полинома в виде: a + bx^1 + cx^2 + ... + zx^n.
Файл основной программы (рисунок 14).
Рисунок 14 - Содержание основной программы
Для его работы подключаются файлы предкомпилированных заголовков, а так же заголовочный файл Polynom. h. Используется стандартное пространство имен.
Для создания объекта типа Polynom создадим массивы a и b типа double в которых будут содержаться значения коэффициентов, начиная с коэффициента нулевой степени, первой степени, и так далее.
Создаются три объекта типа Polynom. pl0 - пустой полином и создается с помощью конструктора без параметров. pl1 и pl2 - полиномы второй степени, использующий значения из массивов b и a, создаются с помощью конструктора с двумя параметрами. Далее полиному pl0 присваивается значение суммы полиномов pl1 и pl2 и с помощью PolynomCout производится его консольный вывод на экран. Команда cin. get() служит для того, чтобы окно с результатами не закрывалось сразу после выполнения программы.
Второй урок рассказывает о полиморфизме. Для него используется программа, эмулирующая телефонный звонок.
Для ее работы подключаются заголовочный файл предкомпилированных заголовков и iostream - заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++. Используется стандартное пространство имен.
Далее создаем класс phone с методами dial, answer, hangup, ring, конструктор - phone и переменную number типа char (рисунок 15).
Рисунок 15 - Класс phone
Далее создаются два класса потомка touch_tone и pay_phone - кнопочный и дисковой телефоны. В них отличаются лишь методы dial, а остальные методы унаследованы от родительского класса. Они так же имею свои собственные конструкторы, а класс pay_phone - собственную переменную amount - стоимость звонка (рисунок 16).
Рисунок 16 - Потомки класса phone
В основном коде программе для корректного отображения кириллических символов в консольном окне требуется включить русский язык. Далее происходит создания объектов платный, кнопочный телефон и дисковый телефон - объект базового класса. Далее создается объект Poly_Phone базового класса phone и ему его свойства изменяются на свойства объекта rotary, затем производится звонок, далее свойства объекта Poly_phone изменяются на св-ва cityph и hphone и производятся звонки соответственно (рисунок 17)
Рисунок 17 - Текст основной программы
Похожие статьи
-
Цель Работы - изучить приемы создания и использования шаблонов классов. - Теоретические сведения Достаточно часто встречаются классы, объекты которых...
-
Цель Работы - изучить основные способы работы с пользовательским типом данных "класс", его объектами, методами и способы доступа к ним. - Теоретические...
-
Объектно ориентированный подход - Разработка видеолекций по программированию С++
Основной идеей объектно-ориентированного подхода является объединение данных и действий, которые производятся над этими данными в одно целое, которое...
-
Области применения языка программирования С++ - Разработка видеолекций по программированию С++
Главным образом язык C++ используется на уровне инфраструктуры для разработки систем с ресурсными ограничениями и систем с высоким уровнем надежности....
-
Среда объектно-ориентированного программирования Delphi Delphi - это комбинация нескольких важнейших технологий, высокопроизводительный компилятор в...
-
Разработка интерфейса, Разработка запросов - Высокоуровневые методы информатики и программирования
Программа, будет начинать работу с вывода главной формы, на которой будет располагаться самое главное меню, т. е. другими словами "панель навигации"....
-
Преимущества и недостатки видеолекций - Разработка видеолекций по программированию С++
С распространением интернета стало меняться отношение к образованию. Получили распространение такие форму обучения, как дистанционное обучение и...
-
Интегрированная среда разработки Delphi - Приемы программирования в Delphi
Delphi - это потомок среды программирования TurboPascal. Название среды произошло от названия города в Древней Греции, где находился знаменитый...
-
Запись и редактирования видеоуроков - Разработка видеолекций по программированию С++
После запуска Camtasia Studio появляется главное окно программ с окном приветствия, в нем можно выбрать Record the screen (запись с экрана) - чтобы сразу...
-
Разработка концептуальной модели базы данных При проектировании программ выясняются запросы и пожелания клиента и определяется возможный подход к решению...
-
Инструментарий технологии программирования - программные продукты поддержки (обеспечения) технологии программирования. В рамках этого направления...
-
Кроме поддержки интерпретатора порождающих правил, описанного в главе 5, CLIPS обладает следующими функциональными возможностями: - для определения...
-
У каждого языка программирования есть свои преимущества и недостатки, и их стоит рассматривать в контексте тех принципов, на которых строился язык, а так...
-
Диаграмма классов, Разработка пользовательского интерфейса - Основы технологии программирования
На основе построенных диаграмм взаимодействия и переходов состояний можно построить диаграмму классов информационной системы. Рис. 5 Диаграмма классов...
-
Разработка приложения на языке C++ - Программирование на языке C++
C++ - объектно-ориентированный язык программирования. Разработан в 1998--2001 годах группой инженеров под руководством Андерса Хейлсберга в компании...
-
Программирование подключенной к параллельному порту аппаратуры заключается в установке определенных битов в регистрах данных и управления и чтении...
-
Завершив выбор схемы работы системы и общего принципа работы ее частей и выбрав тип базы данных, следует перейти к выбору языка программирования....
-
Можно выделить три основных метода разработки программного обеспечения: 1. Конструкторы программ (Аlgoritm2, Devel Studio, MnCreator, Game Maker и др.)....
-
Введение, Язык программирования - Разработка игры "Морской бой"
Игра интерфейс компьютерный приложение Стремительное развитие компьютерной техники в последние годы, появление мощнейших графических ускорителей и...
-
Особенности языка программирования С++ - Разработка видеолекций по программированию С++
Язык С++ был создан Бьерном Страуструпом в 1979 году в компании Bell Laboratories и сначала имел название "С с классами". Страуструп утверждает, что...
-
Алгоритм работы декодера кода Рида - Маллера будем разрабатывать на основе уже приведенных выше уравнений. Алгоритм приведен на рисунке 12. В начале...
-
ClassBase_Korabl {:Color;:_Korabl();Prorisovka(short x, short y); } В этом листинге в производном классе был переопределен метод Prorisovka() для...
-
Синтаксис объявления класса в языке С++ имеет следующий вид: Class<имя класса>: <спецификатор доступа><имя базового класса> { Элементы класса...
-
Выбор видеоредактора и среды разработки - Разработка видеолекций по программированию С++
Для записи и монтажа видео нам потребуется воспользоваться программой, включающей набор инструментов, позволяющих редактировать видеофайлы. Для работы с...
-
Программирование для Интернет - Разработка Windows-приложений в среде Borland Delphi
Цель Работы: Получить навыки использования компонента WebBrowser. Пояснения к работе Начиная с пятой версии Delphi появился компонент WebBrowser который...
-
В ходе разработки программы было использовано программное обеспечение Microsoft® Windows® "Подключение к удаленному рабочему столу" для извлечения...
-
В используемой мной версии "MS Visual Studio" (версия 10 доступна технология. NET4.0) доступно несколько языков программирования: - C#; - C++; - F#; -...
-
Языки программирования высокого уровня - Инструментальные средства разработки экспертных систем
Языки высокого уровня являются в руках опытного программиста прекрасным средством быстрого создания прототипа экспертной системы, позволяют обеспечить...
-
Введение - Разработка видеолекций по программированию С++
Видео обучение является одной из форм дистанционного обучения, представляющая собой набор систематически подобранных видеолекций по заданной теме,...
-
Выбор языка программирования Язык С++ является в настоящее время наиболее распространенным и перспективным языком промышленного программирования. Он...
-
Концепция построения программы Список всех классов приведен на рисунке 3.1. Рисунок 3.1 - Диаграмма классов программы В качестве главного класса...
-
Разработка приложений ведется на языке Java, для этого потребуется специальное программное обеспечение. Самые новые версии системного программного...
-
Цель Работы - научиться использовать операции динамического выделения и освобождения памяти на примере работы с одномерными и двумерными массивами, а...
-
Введение - Технология разработки программного обеспечения систем управления
С++ является языком объектно-ориентированного программирования (ООП). Объект - абстрактная сущность, наделенная характеристиками объектов реального мира....
-
Парсер - Разработка программного средства, позволяющего оптимизировать SQL-скрипты
В приложении можно выделить 2 основных функциональных блока: парсер и оптимизатор. Данная глава посвящена первому из них. Задача парсера - разобрать...
-
Разработка графической части На данном этапе создания веб-сайта для рекламного агентства "ART", был разработан дизайн подобающе данной тематике. Стиль...
-
Проектирование визуальных конструкций Вторая глава описывает процесс трансформации текстового языка JAPE в визуальный язык, который позволит описывать...
-
Цель Работы - научиться использовать элемент управления ListBox а также основные методы класса СListBox. Использование возможности контроля правильности...
-
Введение - Обьекто-ориентированное программирование
Объектно-ориентированное программирование (ООП) позволяет разложить проблему на составные части, каждая из которых становится самостоятельным объектом....
-
При запуске программы с входными параметрами {"-makexls" "filename. xls" "температурная_точка" "отклонение" "элемент"} происходит извлечение результатов...
Видеолекции - Разработка видеолекций по программированию С++