app.h

来自「一个833分酒问题的求解」· C头文件 代码 · 共 39 行

H
39
字号
#ifndef APP_H_
#define APP_H_

#include "State.h"
#include <vector>
using namespace std;

class App
{
private:
	State StateStart;
	State StateFin;
	vector<State> tState;										// 存放状态
public:
	App();
	virtual ~App();
	void StateInit(State& SStart, State SFin);			// 初始化起始和终止的状态
	void Memorize(const State& st);						// 记录步骤
	bool Valid(const State& st);								// 存放错误步骤
	bool Do(const State& st);									// 是否解决
	void Undo(const State& st);								// 撤销
	vector<State> tPath;										// 存放每一步的状态
	friend ostream& operator<<(ostream& out, App& app);

	class Iterator														// 作为不同倒酒方式的循环
	{
	private:
		void * ptr;
	public:
		Iterator() {};
		Iterator(const State& st);
		State operator++ (int);
		bool eoi();
	};
};

#endif // APP_H_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?