ВУЗ:
Составители:
Рубрика:
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 будет описана как объект типа
Страницы
- « первая
- ‹ предыдущая
- …
- 24
- 25
- 26
- 27
- 28
- …
- следующая ›
- последняя »