โมฆะ MapObject (const CObject * pOb );
พารามิเตอร์
pOb
ตัวชี้ไปยังวัตถุที่มีเก็บค่าคงที่?
หมายเหตุ
เรียกฟังก์ชันนี้สมาชิกการวางวัตถุในแผนที่จริง ๆ ไม่ได้แบบอนุกรมแฟ้ม แต่ที่ไม่พร้อมใช้งานสำหรับ subobjects การอ้างอิง ตัวอย่างเช่น คุณอาจไม่ซีเรียลไลซ์เอกสาร แต่คุณจะซีเรียลไลซ์สินค้าที่เป็นส่วนหนึ่งของ document.nbsp โดยการเรียกMapObjectคุณอนุญาตเหล่านั้นรายการ หรือ subobjects การอ้างอิงเอกสาร ยัง ไอเทมย่อยแบบอนุกรมสามารถซีเรียลไลซ์ชี้ของพวกเขากลับm_pDocument(&N)?
คุณสามารถเรียกMapObjectเมื่อคุณจัดเก็บเพื่อโหลดจากวัตถุCArchive MapObjectเพิ่มวัตถุที่ระบุให้กับโครงสร้างภายในข้อมูลเก็บรักษาไว้ โดยวัตถุCArchiveใน ระหว่างอนุกรมและ deserialization แต่แตกต่างจากReadObject และWriteObject,มันไม่เรียกซีเรียลไลซ์วัตถุ?
ตัวอย่าง
/ / MyDoc.h
/ / เอกสารควรมี DECLARE_SERIAL และ IMPLEMENT_SERIAL
คลา CMyDocument: CDocument สาธารณะ
{
CObList m_listOfSubItems
nbsp ...
DECLARE_SERIAL(CMyDocument)
};
/ / MyDoc.cpp
...
IMPLEMENT_SERIAL (CMyDocument, CObject, 1)
...
CMyDocument::Serialize (CArchive & ar) ถือเป็นโมฆะ
{
ถ้า (arIsStoring())
{
/ / TODO: เพิ่มเก็บรหัสต่อไปนี้
}
อื่น
{
/ / TODO: เพิ่มโค้ดโหลดที่นี่
}
arMapObject(this)
//serialize ไอเทมย่อยที่ในเอกสาร
//they จะซีเรียลไลซ์ m_pDoc ของตนเองได้
//back ชี้
m_listOfSubItems.Serialize(ar)
}
//SubItem.h
คลา CSubItem: CObject สาธารณะ
{
สาธารณะ:
CSubItem(CMyDocument * pDoc)
{ m_pDoc = pDoc; }
/ / กลับชี้ owning เอกสาร
CMyDocument * m_pDoc
WORD m_i / / อื่น ๆ รายการข้อมูล
เสมือนโมฆะ Serialize (CArchive & ar);
};
//SubItem.cpp
CSubItem::Serialize (CArchive & ar) ถือเป็นโมฆะ
{
ถ้า (arIsStoring())
{
/ / จะซีเรียลไลซ์ //to การอ้างอิงเอกสาร "แมป" ชี้
ar << m_pDoc
ar << m_i
}
อื่น
{
/ / จะโหลดการอ้างอิงที่ชี้เอกสาร "แมป" //the
ar >> m_pDoc
ar >> m_i
}
}
ภาพรวม CArchive |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)
ดูเพิ่มเติมnbspCArchive::ReadObject, CArchive::WriteObject(&N)