void MapObject (const CObject * pOb );
Parâmetros
pOb
Um ponteiro constante para o objeto sendo armazenado.
Observações
Chame essa fu&nção de membro para colocar objectos no mapa que não são realmente serializado para o arquivo, mas que estão disponíveis para subobjetos fazer referência. Por exemplo, você não pode serializar um documento, mas você teria serializar os itens que fazem parte da document.nbsp; Chamando MapObject, você permitir que os itens ou subobjetos, para fazer referência ao documento. Além disso, subitens serializados podem serializar seu ponteiro voltar m_pDocument.
Você pode chamar MapObject quando você armazena e carregar a partir o objeto de CArchive . MapObject adiciona o objeto especificado para as estruturas de dados interno mantidas pelo objeto CArchive durante a serialização e desserialização, mas ao contrário de ReadObject e WriteObject, que ele não faz chamadas serializar o objeto.
Exemplo
/ / MyDoc.h
/ / Documento deve ter DECLARE_SERIAL e IMPLEMENT_SERIAL
Classe CMyDocument: público CDocument
{
CObList m_listOfSubItems;
nbsp; ...
DECLARE_SERIAL(CMyDocument)
};
/ / MyDoc.cpp
...
IMPLEMENT_SERIAL (CMyDocument, CObject, 1)
...
privatevoid CMyDocument::Serialize (CArchive & ar)
{
se (ar.IsStoring())
{
/ / TODO: Adicionar armazenamento código aqui
}
outra pessoa
{
/ / TODO: Adicionar código de Carregando aqui
}
ar.MapObject(this);
//Serialize os subitens no documento;
//They será capaz de serializar seu m_pDoc
//Back ponteiro
m_listOfSubItems.Serialize(ar);
}
//SubItem.h
CSubItem de classe: CObject pública
{
público:
CSubItem(CMyDocument * pDoc)
{m_pDoc = pDoc;}
/ / ponteiro de volta para possuir documento
CMyDocument * m_pDoc;
PALAVRA m_i; / / outros dados do artigo
virtual void Serialize (CArchive & ar);
};
//SubItem.cpp
privatevoid CSubItem::Serialize (CArchive & ar)
{
se (ar.IsStoring())
{
/ / será serializar uma referência //to o ponteiro do documento "mapeada"
ar << m_pDoc;
ar << m_i;
}
outra pessoa
{
/ / irá carregar uma referência ao ponteiro de documento "mapeada" //the
ar >> m_pDoc;
ar >> m_i;
}
}
Visão geral de CArchive | Membros de classe | Gráfico de hierarquia
Co&nsulte tambémnbsp;CArchive:: ReadObject, CArchive:: WriteObject