Программирование стратегических игр с DirectX 9.0

bda5893f

Функция MouseZoneClass::MouseZoneClass()


Первой из функций является конструктор класса. Его код выглядит следующим образом:

MouseZoneClass::MouseZoneClass(void) { // Количество зон равно нулю m_iMaxZones = 0; }

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


Следом идет деструктор класса, код которого выглядит так:

MouseZoneClass::~MouseZoneClass(void) { // Очистка выделенных зон vFreeZones(); }

Единственное действие деструктора— вызов функции vFreeZones(). Поскольку деструктор вызывается когда класс покидает область видимости, необходимо гарантировать освобождение выделенной памяти до выхода из него. Именно по этой причине я и включил в код вызов функции освобождающей активные зоны.



Содержание раздела