Difference between revisions of "Test"

From Felixl.com
Jump to navigationJump to search
 
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();
 
 
  }
 
  }
  

Revision as of 16:52, 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 -- которая-бы сохраняла весь класс на диске,    нельзя пользываться сериализацией. Надо принять во внимание что есть некоторые виртуальные функции -- ActA и ActB, следовательно надо сохранить и таблицу виртуальных функций класса B, принимая во внимания то что и класс А имеет виртуальные функции.

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

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

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