6. Библиотека героев

Занятие 6


Это надо знать

Допустим, у нас есть функции, описывающие рисование героев, которых в дальнейшем  мы планируем использовать в других программах.
Следовательно, нам требуется создать собственную библиотеку.

Итак, наша библиотека будет содержать функции рисования:
елки;
лягушки;
самоката;
комара.

Назовем файл библиотеки characters.h. В дальнейшем мы сможем подключать библиотеку в нашей программе:
 #include "characters.h"

И теперь нам не придется писать функции рисования героев, которые описаны в библиотеке, мы сможем их просто вызывать по имени с указанием нужных параметров героя.

Файл библиотеки characters.h состоит из:


#ifndef CHARACTERS_H 
#define CHARACTERS_H
#include "TXLib.h"

// самих функций:

void tree     (int x, int y, double sizeX, double sizeY, int leftEye, int rightEye, COLORREF color)
    {
    // записываем команды, которые рисуют елку
    }

void mosquito (int x, int y, double sizeX, double sizeY, int Dwings, int turn, COLORREF color)
   {
    // записываем команды, которые рисуют комара
    }

void frog     (int x, int y, double sizeX, double sizeY, int leftHand, int rightHand, COLORREF color)
   {
    // записываем команды, которые рисуют лягушку
    }

void scooter  (int x, int y, double sizeX, double sizeY, COLORREF colorWheal, COLORREF colorFrame)
   {
    // записываем команды, которые рисуют самокат
    }

#endif

Как видим, main () в библиотеке не пишем.

Создадим документирующие комментарии для библиотеки

В начале файла запишем:

//{----------------------------------------------------------------------------------------------------------------
//! @file укажем имя файла с расширением .h (например, characters.h)
//!
//! @mainpage  укажем заголовок библиотеки (например, Персонажи мультфильма)
//!
//! Здесь можно писать любой пояснительный текст
//!
//! Главный файл указываем имя нашего файла (в нашем случае - animals.h)
//!
//! @author указываем автора библиотеки (например, I. Lekhova)
//!
//! @date  указываем дату создания библиотеки (например,  05.10.2016)
//}----------------------------------------------------------------------------------------------------------------

Далее следуют команды:



#ifndef CHARACTERS_H     - указываем ИМЯ ЗАГОЛОВОЧНОГО ФАЙЛА_H
#define CHARACTERS_H     - указываем ИМЯ ЗАГОЛОВОЧНОГО ФАЙЛА_H
#include "TXLib.h"  - подключение используемой библиотеки

Перед прототипом функции запишем:

//{-------------------------------------------------------------------------------
//! @brief Рисует (запишем название героя)
//!
//! @image html "имя файла" (используем, если есть файл с изображением)
//! @param x - координата х (запишем за что отвечает, например, центр головы)
//! @param y - координата y (запишем за что отвечает, например, центр головы)
//! @param sizeХ - коэффициент изменения размера героя по ширине
//! таким образом описываем все параметры
//!
//! @warning можно записать какое-нибудь замечание по использованию функции
//! @code записываем пример использования (например, Tree (400, 100, 1.3);)
//! @endcode
//}--------------------------------------------------------------------------------

void tree     (int x, int y, double sizeX, double sizeY, int leftEye, int rightEye, COLORREF color);  - это прототип функции

Перед каждым прототипом функции запишем аналогичные команды.

Функцию main() в библиотеке не пишем.

В конце файла, после всех функций запишем:

#endif


Сохраним файл под именем characters.h

Файл помощи к нашей библиотеке можно собрать при помощи программы Doxygen.

Пример

Библиотека characters.h

Help по библиотеке

Пример использования бибиотеки


Домашнее задание

1. Создать документирующие комментарии к своим функциям.
2. Создать библиотеку.