在软件设计中,通常有一个撤销(undo)和恢复(redo)的通用功能。撤销和恢复可以在一个输入的数据,也可以是一个自定义的动作。
我们可以使用模板参数来表示具体的数据类型,在类模板或者函数模板中国操作模板参数来代替对具体数据类型的操作,从而可以处理各种数据,。
{
public:
//构造函数,初始化动作的位置
actioncontainer()
{
m_nRedopos = 0;
m_nUndopos = 0;
}
//容器的接口属性
void add(T value); //向容器中添加新的动作
T redo(); //恢复上一步动作
T undo(); //撤销上一步动作
//容器属性
};
int main()
{
return 0;
}