我是真正的VC++初学者
有惭愧问题请各位不吝赐教:
void CLine::Serialize(CArchive &ar)
{
   CObkect::Serialize(ar);
   if(ar.IsStoring())
     ar<<m_ptFrom<<m_ptTo;
   else
     ar>>m_ptFrom>>m_ptTo;
}CObkect是什么类?做什么用?
Serialize前必须加CObkect类吗?

解决方案 »

  1.   

    是CObject吧?所有MFC类的祖宗。CLine一定是从其中衍生来的,所以在串行化时要先将其串行化。
      

  2.   

    CObject是MFC的基类,大部分MFC类都是从它派生的,但它没做什么具体处理,只是进行了一些初始化工作。Serialize是CObject类的一个成员函数,加CObkect类和::是为了告诉编译器调用的是CObject类的Serialize的函数,这是因为编译器编译时是按类-》它的父类,从下向上查找。相关知识可以看看C++语言
      

  3.   

    察看一下mfc得结构,可以发现CObject是几乎所有mfc类的基类。
    void CLine::Serialize(CArchive &ar)
    {
       CObkect::Serialize(ar);//只是掉用基类的serialize函数(因为cline将该函数重载了)
       if(ar.IsStoring())
         ar<<m_ptFrom<<m_ptTo;
       else
         ar>>m_ptFrom>>m_ptTo;
    }具体你可以参考一下侯捷的<深入钱出mfc〉