Чтение онлайн

на главную

Жанры

Программирование. Принципы и практика использования C++ Исправленное издание
Шрифт:

5. Добавьте изображение размером 100x100 пикселей. Перемещайте его с одного квадрата на другой, щелкая на кнопке Next. Для этого поместите вызов функции

wait_for_button
в цикл, сопроводив его командами, выбирающими новый квадрат для вашего изображения.

Контрольные вопросы

1. Почему мы просто не используем какую-нибудь коммерческую или бесплатную графическую библиотеку?

2. Сколько классов из библиотеки графического интерфейса нам понадобится, чтобы создать

простой вывод графической информации?

3. Какие заголовочные файлы нужны для использования библиотеки графического интерфейса?

4. Какие классы определяют замкнутые фигуры?

5. Почему мы не используем класс

Line
для рисования любой фигуры?

6. Что означают аргументы конструктора класса

Point
?

7. Перечислите компоненты класса

Line_style
.

8. Перечислите компоненты класса

Color
.

9. Что такое система RGB?

10. В чем заключается разница между двумя объектами класса

Line
и объектом
Lines
, содержащим две линии?

11. Какие свойства можно задать для любого объекта класса

Shape
?

12. Сколько сторон объекта класса

Closed_polyline
определяются пятью объектами класса
Point
?

13. Что мы увидим на экране, если определим объект класса

Shape
, но не свяжем его с объектом класса
Window
?

14. Чем объект класса

Rectangle
отличается от объекта класса
Polygon
с четырьмя объектами класса
Point
(углами)?

15. Чем объект класса

Polygon
отличается от объекта класса
Closed_polyline
?

16. Что расположено сверху: заполненная цветом область или границы фигуры?

17. Почему мы не определили класс

Triangle
(ведь мы определили класс
Rectangle
)?

18. Как переместить объект класса

Shape
в другое место окна?

19. Как пометить объект класса

Shape
строкой текста?

20. Какие свойства текстовой строки можно задать в классе

Text
?

21. Что такое шрифт и зачем он нужен?

22. Для чего нужен класс

Vector_ref
и как его использовать?

23. В чем заключается разница между классами

Circle
и
Ellipse
?

24. Что произойдет, если мы попытаемся изобразить объект класса

Image
с заданным именем файла, а заданное имя файла не относится к файлу, содержащему изображение?

25. Как вывести на экран часть изображения?

Термины

Упражнения

Для

каждого упражнения, в котором требуется определить класс, выведите на экран несколько объектов данного класса и продемонстрируйте, как они работают.

1. Определите класс

Arc
, рисующий часть эллипса. Подсказка:
fl_arc
.

2. Нарисуйте окно с закругленными углами. Определите класс Box, состоящий из четырех линий и четырех дуг.

3. Определите класс

Arrow
, рисующий стрелки.

4. Определите функции

n
,
s
,
e
,
w
,
center
,
ne
,
se
,
sw
и
nw
. Каждая из них должна получать аргумент типа
Rectangle
и возвращать объект типа
Point
. Эти функции должны определять точки соединения, расположенные на границах и внутри прямоугольника. Например,
nw(r)
— это левый верхний угол объекта класса
Rectangle
с именем
r
.

5. Определите функции из упр. 4 для классов

Circle
и
Ellipse
. Поместите точки соединения на границах и внутри этих фигур, но не за пределами окаймляющего их прямоугольника.

6. Напишите программу, рисующую диаграмму классов, похожую на ту, которая изображена в разделе 12.6. Программировать будет проще, если начать с определения класса

Box
, объект которого представляет собой прямоугольник с текстовой меткой.

7. Создайте цветную диаграмму RGB (поищите пример в вебе).

8. Определите класс

Regular_hexagon
(шестиугольник — это правильный шестисторонний многоугольник). В качестве аргументов конструктора используйте центр и расстояние от центра до угловой точки.

9. Покройте часть окна узорами в виде объектов класса

Regular_hexagon
(используйте не меньше восьми шестиугольников).

10. Определите класс

Regular_hexagon
. В качестве аргументов конструктора используйте центр, количество сторон (не меньше двух) и расстояние от центра до угла.

11. Нарисуйте эллипс размером 300x200 пикселей. Нарисуйте ось x длиной 400 пикселей и ось y размером 300 пикселей, проходящие через центр эллипса. Пометьте фокусы. Отметьте точку на эллипсе, которая не принадлежит ни одной из осей. Соедините эту точку с фокусами двумя линиями.

12. Нарисуйте окружность. Заставьте метку перемещаться по окружности (пусть она перемещается каждый раз, когда вы щелкаете на кнопке Next).

13. Нарисуйте матрицу цвета из раздела 13.10, но без линий, окаймляющих каждый квадрат.

Поделиться:
Популярные книги

Бастард Императора

Орлов Андрей Юрьевич
1. Бастард Императора
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Бастард Императора

На границе империй. Том 10. Часть 1

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 1

Имя нам Легион. Том 7

Дорничев Дмитрий
7. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 7

Измена. Вторая жена мужа

Караева Алсу
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Вторая жена мужа

Буря империи

Сай Ярослав
6. Медорфенов
Фантастика:
аниме
фэнтези
фантастика: прочее
эпическая фантастика
5.00
рейтинг книги
Буря империи

Пенсия для морского дьявола

Чиркунов Игорь
1. Первый в касте бездны
Фантастика:
попаданцы
5.29
рейтинг книги
Пенсия для морского дьявола

На изломе чувств

Юнина Наталья
Любовные романы:
современные любовные романы
6.83
рейтинг книги
На изломе чувств

Тринадцатый II

NikL
2. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый II

Сирота

Шмаков Алексей Семенович
1. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Сирота

Законы Рода. Том 9

Flow Ascold
9. Граф Берестьев
Фантастика:
городское фэнтези
попаданцы
аниме
дорама
фэнтези
фантастика: прочее
5.00
рейтинг книги
Законы Рода. Том 9

Красноармеец

Поселягин Владимир Геннадьевич
1. Красноармеец
Фантастика:
боевая фантастика
попаданцы
4.60
рейтинг книги
Красноармеец

Огненный князь 4

Машуков Тимур
4. Багряный восход
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Огненный князь 4

Начальник милиции. Книга 5

Дамиров Рафаэль
5. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 5

Инкарнатор

Прокофьев Роман Юрьевич
1. Стеллар
Фантастика:
боевая фантастика
рпг
7.30
рейтинг книги
Инкарнатор