Страница 114 из 238
Serialize
virtual void Serialize(CArchive& ar);
throw(CMemoryException);
throw(CArchiveException);
throw(CFileException);
Аргументы
- ar - объект класса CArchive осуществляющий чтение и запись объекта на диске.
Описание
Читает объект с диска и записывает его на диск в с использованием объекта класса архива. Данная функция должна быть перегружена в каждом производном классе, предполагающем работу с архивом. Первым оператором перегруженной функции должен быть вызов функции
Serialize базового класса. Для того, чтобы иметь возможность использовать данную функцию в своем классе, при его описании в файле заголовка должен быть использован макрос
DECLARE_SERIAL, а в его файле реализации - макрос
IMPLEMENT_SERIAL. Для того, чтобы определить, какая операция производится в данном случае, используются функции
CArchive::IsLoading и
CArchive::IsStoring. Функция
Serialize вызывается функциями
CArchive::ReadObject и
CArchive::WriteObject, которые, в свою очередь, вызываются переопределенными операторами
CArchive::operator << и
CArchive::operator >>, первый из которых производит запись объекта в архив, а второй - извлечение объекта из архива.