ObjectARX, AutoCAD. Среда программирования библиотеки C++



         

Макрокоманда Объявления Класса


Файл заголовка для заказного класса может использовать ACRX_DECLARE_MEMBERS (CLASS_NAME) макрокоманда ObjectARX, чтобы объявить desc(), cast(), и isA() функции.

Эта макрокоманда используется в общем разделе объявления класса, следующим образом:

class myClass : public AcRxObject

{

                public:

                ACRX_DECLARE_MEMBERS(myClass);

                ...

};

Для AsdkPoly, следующая строка расширяется до одиночной длинной строки программы.

ACRX_DECLARE_MEMBERS (AsdkPoly);

Когда переформатировано к множественным строкам для ясности, строка напоминает это:

virtual AcRxClass* isA() const;

static AcRxClass* gpDesc;

static AcRxClass* desc();

static AsdkPoly* cast(const AcRxObject* inPtr)

{

                return ((inPtr == 0) || ! inPtr->isKindOf(AsdkPoly::desc())) ? 0 : (AsdkPoly*)inPtr;

};

static void rxInit();

Статический rxInit () функция и статический gpDesc указатель, объявленный этой макрокомандой используется, чтобы осуществить isA (), desc (), и cast() функции.




Содержание  Назад  Вперед