Связка классов MementoStacker и IMementoCareTaker предназначены для сохранения и восстановления состояния объекта. Для работы унаследуйтесь от класса IMementoCareTaker и переопределите два чистых виртуальных метода undo() и storeState(). См. пример в папке examples.