Difference between revisions of "Test"

From Felixl.com
Jump to navigationJump to search
 
(2 intermediate revisions by the same user not shown)
Line 24: Line 24:
  
 
надо написать функцию Saveme класса B -- которая-бы сохраняла весь класс 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. Прислать весь проект ко мне на почту