Задание 2. Создать класс - данные - абстрактный базовый класс

Создать класс - данные - абстрактный базовый класс. Создать производные классы - данные типа сигнал, данные типа результат обработки и вспомогательные данные. Все данные имеют функции отображения, сохранения и обработки.

Вариант 14.
Задание 1.

Создать абстрактный базовый класс с виртуальной функцией - корни уравнения. Создать производные классы: класс линейных уравнений и класс квадратных уравнений. Определить функцию вычисления корней уравнений.

Задание 2.

Создать класс - данные - абстрактный базовый класс. Создать производные классы - данные типа сигнал, данные типа результат обработки и вспомогательные данные. Все данные имеют функции отображения, сохранения и обработки.

Виртуальные функции и полиморфизм

План

  1. Виртуальные функции и полиморфические кластеры
  1. Проверка ошибок при использовании виртуальных функций
  1. Техническая реализация виртуальных функций
  1. Абстрактные базовые классы
  1. Преимущества позднего связывания

Термин полиморфический в словаре определен, как “имеющий, принимающий или встречающийся в различных формах, символах или стилях”. В применении к объектно-ориентированным языкам, полиморфизм рассматривается как существенное свойство, позволяющее некоторое сообщение передавать различными путями. Следовательно, сообщение может иметь множество различных реализаций.

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

Позднее связывание позволяет ассоциировать сообщение с методом во время выполнения программы. Программист определяет специфические действия, которые должен выполнять объект, получив сообщение. Во время выполнения, программа интерпретирует эти действия и связывает сообщение с соответствующим методом. Просмотр списка методов и выбор нужного возлагается не на программиста, а на программу. Это позволяет писать более надежный код и облегчает его использование и модификацию.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: