- •Задание №1. Строки и функции в c.
- •В строке string1 определяет последнее вхождение в нее строки string2. Возвращает указатель на начало вхождения. В случае неуспеха возвращается -1.
- •Задание №2. Массивы и указатели.
- •Задание №3. Ввод данных из командной строки.
- •Задание №4. Побитовые операции
- •Задание №5. Шаблоны функций.
- •Задание №6. Основы ооп, перегрузка операторов
- •Задание №7. Наследование
- •Задание №8. Полиморфизм
Задание №7. Наследование
Создать класс визуальной компоненты с необходимым набором конструкторов, деструктором, соответствующими методами и операциями.
Методы и операции класса должны позволять его использовать не только в данной лабораторной работе, но и в других проектах (например, в задании №8). Поэтому важно определить интерфейс класса, т. е. набор методов, предоставляемый для работы с объектом. Разработанная программа в таком случае должна состоять из двух частей: собственно разработанного класса и тестового приложения для проверки правильности его работы.
Спроектированный интерфейс класса перед реализацией следует обсудить с преподавателем. Реализация, не согласованная с преподавателем, может быть отклонена по причине неправильного проектирования и требовать полной переделки лабораторной работы. Также по согласованию с преподавателем можно реализовать один из классов, необходимых для реализации курсового проекта.
Для отрисовки следует использовать библиотеку SFML, класс должен напрямую или косвенно наследоваться от абстрактного класса (интерфейса) sf::Drawable. Процесс установки и настройки библиотеки описан в методических указаниях к выполнению курсового проекта.
№ 1 class Message.
Окно с сообщением (различные варианты оформления: без pамки, одинаpная pамка, двойная pамка).
№ 2 class Button.
Именованная кнопка с привязкой функции (различные варианты оформления: без pамки, одинаpная pамка, двойная pамка).
№ 3 class DialogButton.
Именованное диалоговое окно с наличием 2-ух кнопок, определяющих разветвление процесса. Кнопки имеют названия, например: Да, Нет. Названия определяются через параметры конструктора.
№ 4 class RadioButton.
Именованная визуальная компонента, позволяет сделать пользователю единственный выбор из предлагаемых вариантов
№ 5 class CheckListBox.
Именованная визуальная компонента, позволяет сделать пользователю множественный выбор из предлагаемых вариантов
№ 6 class DateField.
Именованная визуальная компонента для ввода даты (с контролем правильности ввода). Должна быть обеспечена возможность корректировки с помощью клавиш: Left, Right, Del, BackSpace, Home, End).
№ 7 class FloatField.
Именованная визуальная компонента для ввода вещественного (с контролем правильности ввода). Должна быть обеспечена возможность корректировки с помощью клавиш: Left, Right, Del, BackSpace, Home, End).
№ 8 class TemplateField.
Именованная визуальная компонента для ввода по шаблону, заданному программистом при создании объекта этого класса:
A - буквенный символ,
N - буквенный или цифровой символ,
X - любой символ,
9 - цифровой символ.
Должна быть обеспечена возможность корректировки с помощью клавиш: Left, Right, Del, BackSpace, Home, End).
№ 9 class StringField.
Именованная визуальная компонента для ввода строки со скроллингом. Должна быть обеспечена возможность корректировки с помощью клавиш: Left, Right, Del, BackSpace, Home, End).
№ 10 class ChoiceBySpace.
Именованная визуальная компонента для выбора строки из массива с помощью пробела.
№ 11 class ListBox.
Именованная визуальная компонента для выбора из выпадающего списка с помощью курсора или клавиш Up, Down, Enter.
№ 12 class HorisMenu.
Горизонтальное меню с выбором с помощью клавиш Left, Right, Enter.
№ 13 class HorisMenu.
Горизонтальное меню с выбором с помощью курсора.
№ 14 class VertMenu.
Вертикальное меню с выбором с помощью клавиш Left, Right, Enter)
№ 15 class VertMenu.
Вертикальное меню с выбором с помощью курсора.
№ 16 Class Diagram.
Именованная визуальная компонента для рисования столбчатых диаграмм с возможной детализацией.
№ 17 class HorisProgressBar.
Горизонтальный прогресс бар. Отображает прогресс задачи от 0 до 100%.
№ 18 class VertProgressBar.
Вертикальный прогресс бар. Отображает прогресс задачи от 0 до 100%.
№ 19 class UpDown.
Именованная визуальная компонента для ввода числового значения с помощью визуальных кнопок < , > и клавиши Enter.
№ 20 class HorisTrackBar.
Горизонтальный трекбар.
№ 21 class VertTrackBar.
Вертикальный трекбар.
№ 22 class HorisProgressBar.
Горизонтальный прогресс бар «бегущая волна». Отображает прогресс без указания процентов.
№ 23 class VertProgressBar.
Вертикальный прогресс бар «бегущая волна». Отображает прогресс без указания процентов.
№ 24 class RunString.
Визуальная компонента «бегущая строка».
№ 25 class MoveMessage.
Именованная визуальная компонента, случайным образом перемещающаяся по экрану.
№ 26 class Window.
Именованная визуальная компонента окна с различными вариантами оформления: без pамки, одинаpная pамка, двойная pамка.
№ 27 class TextWindow.
Именованная визуальная компонента окна для вывода текста. Должен быть обеспечен корректный перенос строки (по пробелу).
№ 28 class GraphicDiagram
Именованная визуальная компонента окна для вывода графика (во весь экран, с названием, с оцифрованными осями).
№ 29 class Table
Именованная визуальная компонента для вывода таблицы.
