CArchive::SerializeClass

до втрати SerializeClass (константа CRuntimeClass * pRuntimeClass );

Параметри

pRuntimeClass

Вказівник на час виконання клас об'єкта для базового класу.

Зауваження

Телефонуйте цієї функції-члени, коли ви хочете, щоб зберегти та завантажити відомості про версію базового класу. SerializeClass прочитати або записати посилання до класу з CArchive об'єктом, залежно від напрямку CArchive. Використовувати SerializeClass місце в ReadClass і WriteClass як це зручний спосіб сериализации об'єктів бази класу; SerializeClass потребує менше коду і менше параметрів.

Як ReadClass SerializeClass перевіряється архівних клас інформація сумісні з вашого класу виконавчі файли. Якщо це не сумісні, SerializeClass буде кидати CArchiveException.

Ваш клас виконавчі файли повинні використовувати DECLARE_SERIAL і IMPLEMENT_SERIAL; в іншому випадку, SerializeClass буде кидати CNotSupportedException.

Отримання значення параметра pRuntimeClass за допомогою RUNTIME_CLASS макрос. Базовий клас повинен використовували IMPLEMENT_SERIAL макросів.

Приклад

клас CBaseClass: Громадська CObject {...};
клас CDerivedClass: Громадська CBaseClass {...};
недійсним CDerivedClass::Serialize (C&Archiveamp, ar)
{
   Якщо (АР.IsStoring())
   {
      //Normal код для зберігання //of вміст цього об'єкта
   }
   інше
   {
      //Normal код для читання //of вміст цього об'єкта
   }

/ / дозволити базового класу до сериализации разом //with свою інформацію про версію
   АР.SerializeClass(RUNTIME_CLASS(CBaseClass));
   CBaseClass::Serialize(ar);
}

Огляд CArchiveЧлени класу | Ієрархічна діаграма

Дивіться такожnbsp;CArchive::ReadClass, CArchive::WriteClass, CArchive::GetObjectSchema, CArchive::SetObjectSchema, CArchiveException, C&NotSupportedException

Index