问一个关于Serialize的有关问题

问一个关于Serialize的问题
我在写一个绘图程序,程序中加加入一个函数
class CGraph:public CObject 
{
...
public:
virtual void Serialize(CArchive &ar)=0;
DECLARE_SERIAL(CGraph)
};


//////////////////////////////////
IMPLEMENT_SERIAL(CGraph,CObject,0)

...
每一个图形都派生于CGraph类,并在CGraph的派生类中实现Serialize函数,但是程序在编译的时候出现了错误
C2259,这是怎么回事呀?
最关键的是我不知道怎么改呀?
十分紧急。。。

------解决方案--------------------
C2259 贴点错误提示啊。
------解决方案--------------------
'class' : cannot instantiate abstract class due to following members:
你没有在派生类里面实现函数:Serialize,因为这个在基类是纯虚函数,如果子类不实现它,那么子类就也是虚类,因此子类也不能创建对象了.(eg CLine line)
记着在每个子类中都实现它.
------解决方案--------------------
To:
C1 Complier的C2259就是这样提示,你要确认你的所有使用的子类中都实现了Serialize函数.
------解决方案--------------------
探讨
我原来想在CGraph类中不实现Serialize()函数,将它的实现放在CGraph类的派生类中去实现,看来这样做是不行的了。