Difference between revisions of "Test"
From Felixl.com
Jump to navigationJump to searchLine 3: | Line 3: | ||
class CClassA | 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 | class CClassB | ||
{ | { | ||
− | + | protected: | |
− | + | CClassA * m_ca; | |
− | + | public: | |
− | + | CClassB(){m_ca=new CClassA();} | |
− | + | virtual void ActB(); | |
− | + | 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. Прислать весь проект ко мне на почту