怎么在从CObject类中添加DECLARE_SERIAL语句?急!

cctj82 2003-10-19 10:58:01
我写了这个类:
class CShape : public CObject
{
public:
// Enable MFC serialization (file storage for class objects)
DECLARE_SERIAL(CShape)//问题所在!!!

CRect m_boxShape;
bool m_bTransparent;
UINT m_nColorShape;

// Overridables and operations
virtual void Draw(CDC* pDC)
{ TRACE("My Error: In CShape::Draw.\n");
ASSERT(FALSE); };

// Implementation
public:
virtual ~CShape();

};

可编译是出错:
1:Shape.obj : error LNK2001: unresolved external symbol "public: virtual struct CRuntimeClass * __thiscall CShape::GetRuntimeClass(void)const " (?GetRuntimeClass@CShape@@UBEPAUCRuntimeClass@@XZ)
2:Debug/Draw.exe : fatal error LNK1120: 1 unresolved externals
好象是找不到CObject类,应该怎么解决?
...全文
98 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
binha 2003-10-21
  • 打赏
  • 举报
回复
又来晚了^_^
wuxfBrave 2003-10-21
  • 打赏
  • 举报
回复
IMPLEMENT_SERIAL(CShape, CObject, 1)
iamxgl 2003-10-21
  • 打赏
  • 举报
回复
DECLARE_SERIAL(CShape)还是要的,不过你写了DECLARE,就要在CPP中要有相应的IMPLEMENT,否则自然找不到相应的实现函数了,所以你在CPP里面要加下面的代码
IMPLEMENT_SERIAL(CShape, CObject, 1)
建议你去看看DECLARE_SERIAL和IMPLEMENT_SERIAL的定义,你会大悟的
clarkralf 2003-10-19
  • 打赏
  • 举报
回复
DECLARE_SERIAL(CShape)//问题所在!!!
不需要这句了吧?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧