Composite模式

    Composite模式是一种结构性模式,顾名思义,他创建或者说管理的是一组对象,并且将这组对象,形成一种线性结构,而Composite模式则是将这组对象组成vector结构,

Composite模式图如下:



class Component
{
  protected:
   Component()
   {;}
   ~Component()
    {;}
   public:
   void Operation()
   {;}
   void Add()
    {;}
   void Remove
    {;}
   Component* GetChild(int)
   {;}
};
class Composite:public Component
{
   protected:   
    Leaf()
    {;}
    public:
    ~Leaf()
    {;}
    void Operation()
    {
       for(vector
  
  
   
   ::iterator itr=m_vector.begin();itr!=m_vector.end();itr++)
{
    itr->Operation();
}
    }
     void Add(Component* tmp)
    {
       m_vector->push_back(tmp);
    }
    void Remove(Component*tmp)
     {
        m_vector->erase(tmp);
     }
     Component* GetChild(int a)
     {
        return m_vector[a];
     }
    private:
    vector
   
   
    
    m_vector;
};
class Leaf:public Component
{
   public:
   Leaf()
   {;}
   ~Leaf()
    {;}
    void  Operation()
    {
       cout<<"dasdas\n";
    }
};
int main()
{
   Component* tmp=new Leaf();
   Component* hInstance=new Composite();
   hInstance->Add(tmp);
   hInstance->Operation();
   Component* jk=hInstance->GetChild(0);
   delete tmp;
   delete hInstance;
}

   
   
  
  
这样一来就知道了,composite模式是将一种类管理起来,经过统一的一种方式进行管理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

世纪殇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值