当前位置: 首页 > news >正文

【设计模式】状态模式 - 详解

概念

行为模式


类图

State


代码

#include <iostream>using namespace std;class AudioPlayer;class State{public:~State() = default;explicit State(AudioPlayer* audioPlayer) {player = audioPlayer;}virtual void ClickLock() = 0;virtual void ClickPlay() = 0;virtual void ClickNext() = 0;virtual void ClickPrevious() = 0;protected:AudioPlayer* player;};class LockedState: public State {public:void ClickLock() override {}void ClickPlay() override {}void ClickNext() override {}void ClickPrevious() override {}};class ReadyState: public State {};class PlayingState: public State {};class AudioPlayer{public:private:State* state;};int main(int argc, char *argv[]) {cout <<"State pattern needs to be complemented." << endl;cout <<"One cpp file cannot satisfy." << endl;return 0;}
http://www.zskr.cn/news/11396.html

相关文章:

  • 关于gradle项目启动
  • 事倍功半是蠢蛋55 ctrl+shift+f 每次搜索都按倒繁体
  • Ini文件的读写
  • 养成合成小游戏抖音快手微信小程序看广告流量主开源 - 实践
  • ICPC每日 2025.9.25
  • 软考架构备考-软件可靠性、知识产权和标准化
  • 医院内外网文件传输:平衡安全与效率的关键链路!
  • opencv学习记录5
  • 2025.9.25
  • 空间三维坐标变换(转)-四元数-RowPitchYaw角互换
  • 易基因:Cell Rep:华农任文凯团队利用ChIP-seq及多组学解析过敏性疾病的关键调控机制|项目文章
  • Idea代码回退已经push到远段仓库的代码分支到指定提交记录
  • 靶向肽Dcpep - 教程
  • 图思维胜过链式思维:JGraphlet构建任务流水线的八大核心原则
  • 两月九城,纷享销客渠道携手伙伴共创CRM新纪元
  • el-upload上传图片
  • 剑指offer-33、丑数
  • 云平台qcow2镜像的制作
  • hf 下载模型
  • 使用Function Interface简化if-else代码示例
  • Up
  • Dockerfile构建镜像以及网络 - 详解
  • AI智慧:于来路与关山之间,活在当下
  • 瑞芯微RK3506核心板/开发板DSM音频开发实战,关键知识点与实操案例必看攻略! - 教程
  • AI智慧:于悬荡中并行,在悟空里觉醒
  • 读人形机器人22工作的意义
  • .NET 何以成为制造业数字化转型的基石:效率、生态与跨平台的制胜之道
  • Winform无边框窗体拖动功能实现
  • reaction 记录——《彻夜之歌》
  • 关于“屏蔽词”的历史遗传