我有这样的课程:
class MyClass{
int myField1;
int myField2;
MyMemento* getMemento(){
auto m = new MyMemento();
m->myField1 = myField1;
m->myField2 = myField2;
}
void restore(MyMemento* m){
myField1 = m->myField1;
myField2 = m->myField2;
}
}
class MyMemento{
public:
int myField1;
int myField2;
}
我有很多像 MyClass 这样的类,每个类都有自己独特的成员变量。但是创建/恢复备忘录的函数模式是相同的,实际的备忘录对象只包含与每个类匹配的变量。
为每个类实现这似乎非常乏味,所以想知道是否有一些现成的类、库或模式可以用来实现它?