C++项目之酒店客房管理系统架构——设计模式应用场景详解(下)

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

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-31 13:48:02       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-31 13:48:02       97 阅读
  3. 在Django里面运行非项目文件

    2023-12-31 13:48:02       78 阅读
  4. Python语言-面向对象

    2023-12-31 13:48:02       88 阅读

热门阅读

  1. 09.kubernetes 部署calico / flannel网络插件

    2023-12-31 13:48:02       58 阅读
  2. MySql 第三方工具SQL Sugar

    2023-12-31 13:48:02       53 阅读
  3. 解密垃圾邮件分类:基于SVM的数据挖掘项目

    2023-12-31 13:48:02       66 阅读
  4. BFC(解决高度塌陷的问题)

    2023-12-31 13:48:02       48 阅读
  5. 2023年总结:不上班的这半年!

    2023-12-31 13:48:02       54 阅读
  6. ubuntu22.04,matlab问题记录

    2023-12-31 13:48:02       65 阅读
  7. PC端微信公众号文章采集

    2023-12-31 13:48:02       52 阅读