组合模式理解Cocosd-x游戏引擎之addChild函数
来源:互联网 发布:数据库中省略为什么 编辑:程序博客网 时间:2024/06/06 21:02
#include <iostream>#include <string>#include <vector>using namespace std;class Composite{public: Composite():_name(""){} Composite(string name):_name(name){} virtual ~Composite(){} virtual void operation()=0; virtual void add(Composite*){} virtual void del(Composite*){} virtual Composite* find(int index){return NULL;}protected: string _name;};class Leaf : public Composite{public: Leaf(){} Leaf(string name){_name=name;} virtual ~Leaf(){} void operation(){cout<<_name<<endl;}};class subComposite : public Composite{public: subComposite():level(0){} subComposite(string name):level(0){_name=name;} virtual ~subComposite(){} void add(Composite*); void del(Composite*); Composite* find(int index); void operation();private: vector<Composite*> v_pcom; int level;};void subComposite::add(Composite* com){ level++; v_pcom.push_back(com);}void subComposite::del(Composite* com){ v_pcom.pop_back();}Composite* subComposite::find(int index){ return v_pcom[index];}void subComposite::operation(){ for(int i=0;i<level;i++) cout<<"+"; cout<<_name<<endl; vector<Composite*>::iterator it; for (it=v_pcom.begin();it!=v_pcom.end();it++) { (*it)->operation(); }}int main(){ Composite* psubcom=new subComposite("动物"); Composite* psubcom1=new subComposite("非哺乳动物"); Composite* pleaf1=new Leaf("鸟"); Composite* pleaf2=new Leaf("鱼"); Composite* psubcom2=new subComposite("哺乳动物"); Composite* pleaf3=new Leaf("人"); psubcom1->add(pleaf1); psubcom1->add(pleaf2); psubcom2->add(pleaf3); psubcom->add(psubcom1); psubcom->add(psubcom2); psubcom->operation(); delete pleaf1; delete pleaf2; delete pleaf3; delete psubcom1; delete psubcom2; delete psubcom; system("pause"); return 0;}/*++动物++非哺乳动物鸟鱼+哺乳动物人请按任意键继续. . .*/
0 0
- 组合模式理解Cocosd-x游戏引擎之addChild函数
- Cocosd-x设计模式之六 :组合模式
- Cocosd-x设计模式之七 :组合模式
- Cocos2d-x函数----addChild()
- Cocos2d-x函数----addChild()
- Cocos2d-x函数----addChild()
- Cocos2d-x函数----addChild
- Cocos2d-x函数----addChild()
- Cocos2d-x函数----addChild()
- Cocosd-x设计模式之三:管理者模式
- Cocosd-x设计模式之四 :外观模式
- Cocosd-x设计模式之五 :防御式编程模式
- Cocosd-x设计模式之七 :中介者模式
- Cocosd-x设计模式之五 :观察者模式
- Cocosd-x设计模式之三:管理者模式
- Cocosd-x设计模式之四 :外观模式
- Cocosd-x设计模式之五 :防御式编程模式
- Cocosd-x设计模式之六:观察者模式
- 二叉树——建数字树,知先序、中序,输出后序
- java实现上传图片进行切割
- 每日一记:分数规划
- mysql显示SQL语句执行所消耗的时间
- 携程移动网站优化实践
- 组合模式理解Cocosd-x游戏引擎之addChild函数
- 简单usb驱动代码记录
- linux(Centos)上memcacheq成功安装及使用
- 最后我就拿着加多宝喝着走了…
- Unity IOC注入详细配置(MVC,WebApi)
- Android高性能编程注意事项
- 窗口创建类
- 如何修改SQLPLUS提示符
- 最后我就拿着加多宝喝着走了…