设计模式之状态模式(c++)
来源:互联网 发布:如何在淘宝上申请退款 编辑:程序博客网 时间:2024/05/22 15:29
状态模式的作用是将判断条件的代码转换为c++的多态性,状态在不同的对象实例间切换,从而完成了实际的判断,优化代码的结构
代码来源于《c++编程思想》
class Creature { class State { public: virtual const string response() = 0; }; class Frog : public State { public: const string response() { string str = "Ribbet!"; return str; } }; class Prince : public State { public: const string response() { string str = "Darling!"; return str; } }; State* state;public: Creature() : state(new Frog()) {} void greet() { cout << state->response().c_str() << endl; } void kiss() { delete state; state = new Prince(); }};void StatePatternTest(){ Creature creature; creature.greet(); creature.kiss(); creature.greet();}
0 0
- 设计模式之状态模式(c++)
- 设计模式之状态STATE模式(C++)
- 设计模式之State(状态模式)
- 设计模式之状态模式(二)
- 【设计模式】之状态模式(State)
- 设计模式之状态模式(State)
- 设计模式之状态模式(STATE)
- 设计模式之(State)状态模式
- 设计模式之状态模式(State)
- 设计模式之状态模式(State)
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 在开发测试中使用HBaseMiniCluster
- 书面计划优点
- 第三章 字符串、向量和数组
- 使用TestNG-xslt美化测试报告
- java实现单线程客户端与服务器端一问一答方式对话
- 设计模式之状态模式(c++)
- Android性能优化典范
- DataGridView 列中添加进度条
- Java bad verson 错误
- 第四章 表达式
- Baidu Push SDK - 百度云推送
- Code[vs]1014 装箱问题
- 第五章 语句
- proe二次开发vb模式创建参数示例