Сравнительное объектно-ориентированное проектирование - 26 стр.

UptoLike

Составители: 

26
#endif
Это директивы компилятору, которые переводятся так
#ifndef uSpriteH если не определен символ uSpriteH
#define uSpriteH определи символ uSpriteH
#endif заверши область действия директивы «если».
Таким образом, если перед началом компиляции модуля символ
uSpriteH
определен, то все, что находится дальше вплоть до директивы
#endif , то есть все
операторы модуля, компилироваться не будут. Символ
uSpriteH определяется
при первой компиляции, когда он еще не определен, поэтому все повторные
компиляции модуля блокируются.
Рассмотрим отдельные фрагменты кода.
class TSprite;
//TSpriteList
class TSpriteList
{
private:
// Поля
int count;
TControlCanvas* canvas;
void __fastcall SetVisible(bool const);
TRect __fastcall GetSpriteRect();
__property int Count = {read=count};
__property TSprite* Items[int Index]={read=GetItems};
// Конструктор
__fastcall TSpriteList(TControlCanvas* const);
// Деструктор
__fastcall virtual ~TSpriteList();
TSprite* __fastcall AddSprite(TSprite* const);
}
Здесь
В описании типов и переменных на языке C в начале указывается
идентификатор типа или тип, а затем имя типа или переменной:
class
TSpriteList или int count.
Описание членов класса заключается в фигурные скобки. Эти скобки в C
играют также роль ограничителей
begin, end в Delphi.
В описании
TControlCanvas* canvas; стоит звездочка *. Это описание в языке
С означает, что поле
canvas является ссылкой на объект класса
TControlCanvas, т.е. просто целым числом, содержащим адрес объекта в
памяти. Если звездочку опустить, то
canvas будет описана как объект типа