Задача A Программирование на С++ Условие задачи: Руководство железнодорожного вокзала прорабатывает информацию об объектах 2-х типов: - маршруты (задаются номер, начальный пункт, конечный пункт); - пассажиры (сдаются фамилия-имя, нужен начальный пункт, нужен конечный пункт). Для введенных данных о маршрутах и пассажирах определить какой из имеющихся маршрутов будет наименее популярным среди пассажиров, отсортировать пассажиров этого маршрута по убыванию фамилии. 1. Описать классы (не менее 2-х) для объектов по условию задачи: реализовать следующие методы: • конструкторы без параметров и с параметрами (с инициализацией полей, динамически выделить память для символьных строк или использовать тип string (C++)), конструктор копирования (C++); • деструктор (динамически освободить выделенную память) (C++); • перегруженные операции потокового ввода и вывода информации об объектах (C++); • другие методы для выполнения условия задачи, включая перегруженные операции (арифметические и сравнения) и виртуальные (C++) При разработке классов применить подражание или композицию. 2. Написать главную функцию программы, выполняющей следующие действия, используя классы по заданию 1: • объявление массива(-ов) или контейнера(-ов) типа vector (C++) или списка(-ов) типа list (Python) и размещение в нем(их) объектов разработанных классов; • ввод с клавиатуры данных об этих объектах; • вызов методов для проведения вычислений согласно условию задачи; • вывод результатов на экран; • освобождение памяти, выделенной под объекты (C++). В действиях над объектами применить перегруженные операции, методы-виртуальные функции (C++)