|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Опис логічної структури програми
Для виконання завдання постановки задачі визначаємо базовий абстрактний клас – Figure, та два похідні від нього: Circle та Ellipse
Малюнок 2.1 – Діаграма класів Figure, Circle та Elipse
В наведеній діаграмі клас Figure передбачає присутність атрибутів, які визначені як захищені дані-члени класу та оператори – відкриті функції-члени класу. У якості атрибутів Figure виступають дані дійсного та логічного типів. Атрибути дійсного типу – центр по Х, центр по У, кут наклону та масштабний фактор. Логічного типу – відповідає за видимість фігури. Визначені функції-члени класу Figure мають наступне призначення: - Figure() – конструктор класу за замовченням, який ініціалізує атрибути класу початковими значеннями; - Figure(float _xCenter, float _yCenter, float _angle, float _scaleFactor) – конструктор класу з параметрами, який ініціалізує атрибути класу даними, переданими зовні; - virtual void show() abstract – вивід інформації о фігурі на єкран; - virtual void input() abstract – ініціалізація атрибутів класу з клавіатури; - virtual void hide() abstract – робить фігуру невидимою; - virtual void unHide() abstract – робить фігуру видимою; - virtual void rotateBy(float angle) abstract – повертає фігуру на заданий кут; - virtual void moveBy(float x, float y) abstract – переміщує фігуру на заданий вектор по х та у; - float getXCenter() – повертає значення центру по Х; - float getYCenter() – повертає значення центру по У; - float getAngle() – повертає значення кута наклону; - float getScaleFactor() – повертає масштабний фактор; - friend ostream &operator<<(ostream &output, Figure &f) – операторна функція потокового вводу, для зручного задання атрибутів класу з клавіатури; - friend string &operator>>(string &line, Figure &f) – операторна функція потокового виводу, для запису екземпляра класу у файл; Функції-члени похідних класів Circle та Ellipse - це перевантажені абстрактні функції базового класу Figure.
Рисунок 2.2 – Схема головного меню програми
Для тестування можливостей розроблених класів, розроблена програма, яка має визначені методи обробки масиву екземплярів класу Figure, та меня для виконання їх виклику. Схема меню тестової програми наведена на рисунку 2.2
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |