Приложение STUpload: поддержка сериализации в классе CStockData

   
На этом шаге мы рассмотрим встраивание поддержки сериализации.

   
Класс CStockData является прямым наследником класса CObject и получает его конструктор
по умолчанию. Вам придется добавить макросы поддержки сериализации и функцию Serialize().

  • Создание макросов сериализации.
  • Откройте файл StockData.h для редактирования определения класса CStockData.
  • В начале определения класса, в разделе public, добавьте такую строку:
        DECLARE_SERIAL(CStockData)
    
  • Откройте файл StockData.cpp и в его начале, сразу после директив препроцессора, вставьте следующую строку:
        IMPLEMENT_SERIAL(CStockData, CObject, 1)
    
  • Создание функции Serialize().
  • Вернитесь к файлу StockData.h.
  • Добавьте в открытый раздел класса CStockData следующее объявление:
        virtual void Serialize(CArchive& ar);
    
  • Вернитесь к файлу StockData.cpp и в его конце добавьте следующий код:
    void CStockData::Serialize(CArchive& ar)
    {
      if (ar.IsStoring())
      {
        ar << m_strFund;
        ar << m_date;
        ar << m_dblPrice;
      }
      else
      {
        ar >> m_strFund;
        ar >> m_date;
        ar >> m_dblPrice;
      }
    }
    

   
Текст измененного приложения можно взять здесь (67,2 Кб).

   
На следующем шаге мы переопределим функцию SerializeElements().



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий