-
Notifications
You must be signed in to change notification settings - Fork 13
4 5 Home Work
Konychev Valera edited this page Mar 26, 2019
·
4 revisions
!Теоретическое задание выполняется письменно! (Присылать желательно либо в формате .txt, либо .pdf, первый предпочтительно) 0. Для чего нужно ключевое слово static?
- Что такое наследование и для чего оно нужно?
- Расскажите все, что вы знаете об public наслежовании в С++.
- В чём особенность ссылок и указателей на базовый класс при public наслежовании.
- Для чего нужны виртуальные методы?
- Создайте базовый класс для графических объектов - class gObject. У него минимум должен быть 1 метод - draw(), который должен отвечать за отрисовку объекта на экране (вы можете просто выводить информацию об объекте в терминал, порисовать объекты в терминале, или найти графическую библиотеку и с её помощью создавать и отрисовывать реальные графические объекты например, libSDL). Описание базового класса и реализация его методов должны быть в gObject.h и gObject.cpp файлах.
- Создайте несколько наследников вашего графического базового класса: class segment (отрезок), circle (круг), ellipse (эллипс), triangle (треугольник), square (квадрат), rectangle (прямоугольник). Подумайте над иерархией классов, что чем является.
- Напишите функцию main в main.cpp, которая должна отрисовать массив различных графических объектов.
- Напишите Makefile для сборки вашей библиотеки и тестовой программы(параметры сборки -Wall -Wextra -Werror -std=c++14 -O3).
- команда make без параметров должна всё собрать.
- make clean - очистить созданные исполняемые и объектные файлы (артефакты)
- make exec - собрать и запустить тестовый исполняемый файл main.