zoukankan      html  css  js  c++  java
  • 组合模式(Composite)

    2015/4/28
    组合模式(Composite):
    将所有对象组织在一个树状结构之下,用来实现对象间部分—整体之间的关系,使得用户对单个对象和组合对象的使用具有一致性。

    #include <list>
    #include <iostream>
    #include <string>
    using namespace std;
    class Component{
        protected:
            string name;
            public:
                virtual void Add(Component *file)=0;
                virtual void Remove(Component *file)=0;
                virtual list <Component *>* Get()=0;            
    }; 
    class Leaf:public Component{
        public:
            Leaf(string name)
            {
                this->name=name;
            }
            void Add(Component *file){
                cout<<"Cannot add to a leaf"<<endl;
            }
            void Remove(Component *file)
            {
                cout<<"Cannot remove from a leaf"<<endl;
            }
            list <Component *> * Get()
            {
                return NULL;
            }
    };
    class Composite:public Component{
        private:
            list <Component *> p;
        public:
            Composite(string name){
                this->name=name;
            }   
            void Add(Component *file){
                p.push_back(file);
            }
            void Remove(Component *file){
                p.remove(file);
            }
            list <Component *> * Get()
            {
                this->name;
            }
    
    };
    class manu:public Compsite{
    //类似于dos命令下cd之类的进出命令使用  
    };
    int main(void)
    {
       //略
        return 0;
    }
    
  • 相关阅读:
    greenplum导数据
    greenplum 集群部署
    jmx远程访问权限设置
    分布式实时日志处理平台ELK
    hbase0.95.2部署
    hadoop2.2.0部署
    highcharts
    FreeMarker
    使用solr的完整流程
    solr搜索流程
  • 原文地址:https://www.cnblogs.com/pzqu/p/9457643.html
Copyright © 2011-2022 走看看