Difference between revisions of "Test"

From Felixl.com
Jump to navigationJump to search
 
 
(5 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
  class CClassA
 
  class CClassA
 
  {
 
  {
public:
+
  public:
  CClassA(){m_vala=0};
+
      CClassA(){m_vala=0};
+
  public:
public:
+
      int GetA(){return m_vala};
  int GetA(){return m_vala};
+
      void SetA(int val) {m_vala=val);
  void SetA(int val) {m_vala=val);
+
      virtual void ActA();
  virtual void ActA();
+
  protected:
 
+
      int m_vala;
protected:
 
  int m_vala;
 
 
  }
 
  }
  
 
  class CClassB
 
  class CClassB
 
  {
 
  {
protected:
+
  protected:
  CClassA * m_ca;
+
      CClassA * m_ca;
 
+
  public:
public:
+
      CClassB(){m_ca=new CClassA();}
CClassB(){m_ca=new CClassA();}
+
      virtual void ActB();
virtual void ActB();
+
      void Saveme();
 
void Saveme();
 
 
  }
 
  }
  
надо написать функцию Saveme класса B -- которая-бы сохраняла весь класс на диске,    нельзя пользываться сериализацией. Надо принять во внимание что есть некоторые виртуальные функции -- ActA и ActB, следовательно надо сохранить и таблицу виртуальных функций класса B, принимая во внимания то что и класс А имеет виртуальные функции.
+
надо написать функцию Saveme класса B -- которая-бы сохраняла весь класс B на диске,    нельзя пользываться сериализацией. Надо принять во внимание что есть некоторые виртуальные функции -- ActA и ActB, следовательно надо сохранить и таблицу виртуальных функций класса B, принимая во внимания то что и класс А имеет виртуальные функции.
 +
 
 +
Естественно нельзя пользываться функциями и классами MFC (CDocument, CRecordSet, CObject и прочими) -- тоесть код должен компилироваться и исполнятся в не зависимости от типа операционной системы.  Для вывода и ввода использывать cout/cin
 +
 
 +
что сохранять? -- ВСЁ нужное для продолжения использывания класса после его загрузки --
 +
 
 +
тоесть -- таблицу виртуальных функций, их использывание, их стек, их heap,их коды,их состояние, стек и heap самого класса, LTS.
 +
 
  
 
надо так-же написать функцию последующей загрузки класса B
 
надо так-же написать функцию последующей загрузки класса B

Latest revision as of 21:29, 21 March 2007

Есть пара классов:

class CClassA
{
  public:
     CClassA(){m_vala=0};
  public:
     int GetA(){return m_vala};
     void SetA(int val) {m_vala=val);
     virtual void ActA();
  protected:
     int m_vala;
}
class CClassB
{
  protected:
     CClassA * m_ca;
  public:
     CClassB(){m_ca=new CClassA();}
     virtual void ActB();
     void Saveme();
}

надо написать функцию Saveme класса B -- которая-бы сохраняла весь класс B на диске, нельзя пользываться сериализацией. Надо принять во внимание что есть некоторые виртуальные функции -- ActA и ActB, следовательно надо сохранить и таблицу виртуальных функций класса B, принимая во внимания то что и класс А имеет виртуальные функции.

Естественно нельзя пользываться функциями и классами MFC (CDocument, CRecordSet, CObject и прочими) -- тоесть код должен компилироваться и исполнятся в не зависимости от типа операционной системы. Для вывода и ввода использывать cout/cin

что сохранять? -- ВСЁ нужное для продолжения использывания класса после его загрузки --

тоесть -- таблицу виртуальных функций, их использывание, их стек, их heap,их коды,их состояние, стек и heap самого класса, LTS.


надо так-же написать функцию последующей загрузки класса B

на работу 3-4 часа.

код должен быть рабочим -- написан на VC6 или VC2005. Прислать весь проект ко мне на почту