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

做知识内容的网站与app福州企业宣传片制作公司

做知识内容的网站与app,福州企业宣传片制作公司,wordpress模板错位,网站建设网页设计公司C之模板模式 描述实现原理示例步骤1步骤1 分析步骤2步骤2 分析调用输出结果 结论 描述 模板模式#xff08;Template Pattern#xff09;是设计模式中的一种行为型模式。 该模式定义一个操作中的算法骨架#xff0c;而将具体的算法实现延迟到子类中。 模板模式使得子类可以… C之模板模式 描述实现原理示例步骤1步骤1 分析步骤2步骤2 分析调用输出结果 结论 描述 模板模式Template Pattern是设计模式中的一种行为型模式。 该模式定义一个操作中的算法骨架而将具体的算法实现延迟到子类中。 模板模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 实现原理 在C中模板模式一般通过一个父类定义一个算法框架将算法中的某些步骤定义为虚函数。子类通过继承父类并重写这些虚函数的方式来实现具体的算法。 示例 下面是一个简单的C模板模式示例假设要实现一个消息发送系统其中有两种不同类型的消息普通消息和加急消息。它们的发送流程是不同的但消息的基本结构相同。 可以使用模板模式来实现这个系统。 步骤1 首先需要定义一个抽象消息基类Message其中定义发送消息的算法框架 class Message { public:// 发送消息的算法框架void send() {// 第一步构造消息build_message();// 第二步加密消息encrypt_message();// 第三步发送消息send_message();}protected:// 构造消息抽象方法virtual void build_message() 0;// 加密消息抽象方法virtual void encrypt_message() 0;// 发送消息抽象方法virtual void send_message() 0; };步骤1 分析 上面的代码中定义了一个send()方法作为算法框架其中包含三个步骤构造消息、加密消息和发送消息。这三个步骤都被定义为抽象方法需要在子类中实现。 步骤2 可以定义两个具体的消息类型普通消息NormalMessage和加急消息UrgentMessage // 普通消息 class NormalMessage : public Message { protected:// 构造普通消息virtual void build_message() {cout 构造一条普通消息 endl;}// 加密普通消息virtual void encrypt_message() {cout 对普通消息进行加密 endl;}// 发送普通消息virtual void send_message() {cout 发送普通消息 endl;} };// 加急消息 class UrgentMessage : public Message { protected:// 构造加急消息virtual void build_message() {cout 构造一条加急消息 endl;}// 加密加急消息virtual void encrypt_message() {cout 对加急消息进行加密 endl;}// 发送加急消息virtual void send_message() {cout 发送加急消息 endl;} };步骤2 分析 上面的代码中分别重写了Message中的三个抽象方法实现了普通消息和加急消息的具体功能。 调用 最后可以使用这两个具体的消息类型来发送消息 int main() {Message* nm new NormalMessage();nm-send();delete nm;Message* um new UrgentMessage();um-send();delete um;return 0; }输出结果 输出结果为 构造一条普通消息 对普通消息进行加密 发送普通消息 构造一条加急消息 对加急消息进行加密 发送加急消息结论 从上面的代码可以看出通过继承Message并重写其中的抽象方法来实现了不同类型消息的发送而算法框架仍然是由父类Message所提供的。这就是模板模式的核心思想。
http://www.dnsts.com.cn/news/112282.html

相关文章:

  • 云南建投第十建设有限公司网站深圳市南山区住房和建设局
  • SEO网站公司做面食网站
  • 用织梦后台修改网站logo汕头app制作
  • 创网站需要什么企业注册阿里账号网站建设
  • 常州网站建设推广平台网页版微信二维码失效怎么恢复
  • 邗江区做网站为什么上传网站模板网站上没有文字和图片
  • 个人网站 平台长沙高端网站建设品牌
  • 南宁会制作网站的技术人员企业线上培训平台有哪些
  • 自己做网站主机怎样做互联网推广
  • 高端网站建设加盟视频格式转换网页版
  • 资兴做网站公司为知笔记写wordpress
  • 贵州住房和城乡建设厅网站php怎么网站开发
  • 企业微信公众号怎么开通seo整站优化哪家专业
  • 怎样分析网站做seo成免费crm软件排名
  • 免费网站建设培训免费网络推广100种方法
  • 某绿色园林企业网站源码湖南关键词优化品牌推荐
  • 正规的app网站开发hao123从上网官网
  • 阿里云服务器上做网站亚马逊aws在线观看
  • 大航母网站建设服务百度关键词排名突然没了
  • 做外贸网站违法吗网站建设服务费的摊销期限
  • 潍坊做网站优化郑州三牛网站建设
  • 做支付行业招代理一般上什么网站山东潍坊新闻
  • 怎样建设学校网站首页滨海网站建设找哪家好
  • 网站的按钮怎么做 视频东营网站制作方案
  • 网站建设目标是wordpress编辑颜色
  • 杭州网站建设技术网站改不了分类
  • 欢迎访问中国建设银行网站个人客户江苏网站建设基本流程
  • 广州网站建设与实验做网站的素材
  • 淘宝客网站免费建设seo视频
  • 为什么建设的网站有时候访问慢动漫设计与制作属于计算机类吗