初学设计模式之组合模式
组合模式的代码例子 1 #include<iostream> 2 #include<string> 3 #include<list> 4 using namespace std; 5 6 class Component 7 { 8 public: 9 virtual void show(){}; 10 11 }; 12 class leaf:public Component 13 { 14 private: 15 string info; 16 17 public: 18 leaf(string m_info) 19 { 20 info=m_info; 21 }; 22 void show() 23 { 24 cout<<info<<endl; 25 }; 26 27 }; 28 29 class ConcreteComponent:public Component 30 { 31 private: 32 string info; 33 list<Component*>m_list; 34 public: 35 ConcreteComponent(string m_info) 36 { 37 info=m_info; 38 }; 39 void add(Component* m_ComponentPtr) 40 { 41 m_list.push_back(m