自定义类的头文件可以使用 ObjectARX 宏来声明 、 和函数。ACRX_DECLARE_MEMBERS(CLASS_NAME)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()gpDescisA()desc()cast() |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:47
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.