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

UptoLike

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

23
// Конструктор
__fastcall TSpriteList(TControlCanvas* const);
// Деструктор
__fastcall virtual ~TSpriteList();
// Методы
TSprite* __fastcall AddSprite(TSprite* const);
void __fastcall MoveSprite(int const, int const);
void __fastcall virtual DeleteSprite(int const);
void __fastcall virtual Clear();
};
// Тип массива следов спрайтов на канве
typedef DynamicArray< DynamicArray < bool > > TTraceMap;
//TTracedSpriteList
class TTracedSpriteList:public TSpriteList
{
private:
// Поле
TTraceMap traceMap;
public:
// Свойство
__property TTraceMap TraceMap = {read=traceMap};
// Конструктор
__fastcall TTracedSpriteList(TControlCanvas* const);
// Деструктор
__fastcall ~TTracedSpriteList();
// Методы
void __fastcall virtual DeleteSprite(int const);
void __fastcall virtual Clear();
};
typedef bool __fastcall(__closure *OnMoveEvent)(TSprite* ,TPoint&);
//TSprite
class TSprite:public TObject
{
// Класс TSpriteList, объявленный friend, получает доступ
// к private и protected членам класса TSprite
friend class TSpriteList;
private:
// Поля
bool visible;
int z;
TSpriteList* spriteList;
OnMoveEvent onMove;
TSize size;
TPoint location;