遍历存放类或结构体的set
在做传教士和野人问题时,用到了set存放类,所以在这里先测试一下set的功能是否正常。在正确重载 " < " 后,打印变成了一个问题。本来是想再重载 " << " 或者输出运算符,没成功。后来又在网上找了替代办法。
关键代码
//遍历集合
for(set<State>::iterator it = s.begin(); it != s.end() ;it++)
{
State tmp = (State)(*it); //将其赋值给一个临时变量
tmp.printState();
}
完整代码
#include <iostream>
using namespace std;
#include <set>
#include <cstring>
//测试一下set的逻辑是否有问题
class State
{
public