Программирование. Принципы и практика использования C++ Исправленное издание
Шрифт:
Можете ли вы догадаться, что делает этот фрагмент?
12.8. Запуск программы
Мы показали, как можно создать окно и нарисовать в нем разные фигуры. В следующих главах мы покажем, как определен класс
Для того чтобы выполнить эту программу, требуется больше, чем для других программ, описанных ранее. Помимо кода в функции
Итак, можно сказать, что наша программа состоит из четырех частей.
• Код нашей программы (
• Наша интерфейсная библиотека (
• Библиотека FLTK.
• Стандартная библиотека языка C++.
Кроме того, мы неявно используем операционную систему. Оставляя в стороне операционную систему и стандартную библиотеку, мы можем проиллюстрировать организацию графической программы следующим образом.
Как заставить эту программу работать, объясняется в приложении Г.
12.8.1. Исходные файлы
Наша библиотека графики и графического пользовательского интерфейса состоит лишь из пяти заголовочных и трех исходных файлов.
•Заголовки
•Point.h
•Window.h
•Simple_window.h
•Graph.h
•GUI.h
•Исходные файлы
•Window.cpp
•Graph.cpp
•GUI.cpp
До главы 16 мы можем игнорировать файлы графического пользовательского интерфейса.
Задание
Это задание напоминает программу “Привет, мир!”. Его цель — ознакомить вас с простейшими графическими средствами.
1. Напишите программу, создающую пустой объект класса
2. Добавьте примеры из раздела 12.7 один за другим, сравнивая их друг с другом.
3. Выполните программу, внеся небольшие изменения (например, измените цвет, местоположение фигур или количество точек) в каждом из примеров.
Контрольные вопросы
1. Зачем нужна графика?
2. Почему нельзя обойтись без графики?
3. Чем графика интересна программисту?
4. Что такое окно?
5. В каком пространстве имен находятся наши классы графического интерфейса (наша графическая библиотека)?
6. Какие графические файлы необходимы для использования графических средств из нашей библиотеки?
7. Что представляет собой простейшее окно?
8. Что представляет собой минимальное окно?
9. Что такое метка окна?
10. Как задать метку окна?
11. Что собой представляют экранные, оконные и математические координаты?
12. Приведите примеры простых фигур, которые можно отобразить на экране.
13. Какие команды связывают фигуру с окном?
14. Какие основные фигуры можно использовать для того, чтобы нарисовать шестиугольник?
15. Как вывести текст в окне?
16. Как поместить в окне фотографию вашего лучшего друга или подруги? Напишите свою программу.
17. Представьте, что вы создали объект класса
18. Представьте, что вы создали объект класса
Термины
Упражнения
Для выполнения приведенных ниже изображений рекомендуем использовать класс
1. Нарисуйте прямоугольник как объект класса
2. Нарисуйте объект класса
3. Нарисуйте ваши инициалы высотой 150 пикселей. Используйте толстую линию. Нарисуйте каждый инициал другим цветом.
4. Нарисуйте доску для игры в крестики-нолики размером 3x3, чередуя белые и красные квадраты.
5. Нарисуйте красную рамку шириной один дюйм вокруг прямоугольника, высота которого составляет три четверти высоты вашего экрана, а ширина — две трети ширины экрана.
6. Что произойдет, если вы нарисуете фигуру, которая не помещается в окне? Что произойдет, если вы нарисуете окно, которое не помещается на экране? Напишите две программы, иллюстрирующие эти эффекты.
7. Нарисуйте двумерный дом анфас, как это делают дети: дверь, два окна и крыша с дымовой трубой. Детали можете выбрать сами, можете даже нарисовать дымок из трубы.