组合模式是一种结构型设计模式,它允许我们将对象组合成树形结构以表示"整体-部分"的层次结构。组合模式使得客户端对单个对象和组合对象的使用具有一致性,从而无需关心对象的具体类型。
在本文中,我们将使用C++来实现组合模式,并演示如何创建一个表示文件系统的树形结构。
首先,我们定义一个通用的组件抽象类Component
,它声明了组合对象和叶子对象的通用操作。
class Component {
public:
virtual void add(Component* component)