5. 迭代器模式(Iterator Pattern):用于遍历客房列表。通过定义一个迭代器接口,可以遍历客房列表并访问每个客房的属性和状态。
代码中,Iterator是抽象迭代器,定义了迭代器的基本操作,包括判断是否还有下一项和获取下一项的方法。RoomIterator是具体迭代器,实现了具体的迭代器操作。Aggregate是抽象聚合类,定义了获取迭代器的接口。RoomCollection是具体聚合类,实现了获取迭代器的接口,并且在内部维护了一个存储客房信息的容器。
#include <iostream>
 #include <vector>
 #include <string>
// 抽象迭代器,定义了迭代器的基本操作
 class Iterator {
 
 public:
     virtual bool HasNext() = 0;
     virtual std::string Next() = 0;
 };
// 具体迭代器,实现了迭代器的具体操作
 class RoomIterator : public Iterator {
 
 private:
     std::vector<std::string> rooms;
     int position;
public:
     RoomIterator(std::vector<std::string> rooms) : rooms(rooms), position(0) {}
    bool HasNext() override {
 
         return p










