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

做民宿注册的网站国家数据统一共享开放平台

做民宿注册的网站,国家数据统一共享开放平台,东阳实惠营销型网站建设,品牌网站部门建设方案策略模式 序言理解源码 序言 还是参考的菜鸟教程,会C的还是看C的方式来得舒服。 . 理解 使用符合UML规范的便于理解和回忆,接口其实就是普通的基类 . 源码 strategy.h /// 策略 class Strategy { public:virtual ~Strategy();/*** brief 计算* p…

策略模式

  • 序言
  • 理解
  • 源码

序言

还是参考的菜鸟教程,会C++的还是看C++的方式来得舒服。

.

理解

使用符合UML规范的便于理解和回忆,接口其实就是普通的基类
策略模式
.

源码

strategy.h

/// 策略
class Strategy
{
public:virtual ~Strategy();/*** @brief 计算* @param num1 计算数值* @param num2 被计算数值* @return */virtual int operation(const int& num1, const int& num2) = 0;
};/// 加策略
class AddOperation : public Strategy
{
public:/*** @brief 加计算* @param num1 计算数值* @param num2 被计算数值* @return */int operation(const int &num1, const int &num2) override;
};/// 减策略
class SubtractOperation : public Strategy
{
public:/*** @brief 减计算* @param num1 计算数值* @param num2 被计算数值* @return */int operation(const int &num1, const int &num2) override;
};/// 上下文
class Context
{
public:/*** @brief 构造一个策略的上下文* @param strategy 策略对象*/explicit Context(Strategy *strategy);~Context();/*** @brief 计算* @param num1 计算数值* @param num2 被计算数值* @return */int operation(const int &num1, const int &num2);private:/// 所拥有的策略Strategy *strategy = nullptr;
};

.
strategy.cpp

Strategy::~Strategy()
{}int AddOperation::operation(const int &num1, const int &num2)
{return num1 + num2;
}int SubtractOperation::operation(const int &num1, const int &num2)
{return num1 - num2;
}Context::Context(Strategy *strategy): strategy(strategy)
{}Context::~Context()
{if (strategy)delete strategy;
}int Context::operation(const int &num1, const int &num2)
{if (strategy){return strategy->operation(num1, num2);}return INT_MIN;
}

.
使用的地方

std::shared_ptr< Context > context(new Context(new AddOperation));
std::cout << context->operation(10, 5) << std::endl;context.reset(new Context(new SubtractOperation));
std::cout << context->operation(10, 5) << std::endl;

不同策略则生成不同的对象给Context,Context会根据其拥有的策略进行运算。

http://www.yayakq.cn/news/617150/

相关文章:

  • 出版社网站建设方案站长网站建设
  • 汉川建设局网站沂南网站优化
  • dede网站源码 如何公司起名字大全免费2个字
  • 美工在网站建设中的作用项目外包是什么意思
  • 怎么用手机网站做软件好获客渠道有哪些
  • 360网站安全检测网站需求分析怎么写
  • 网站界面设计案例分析装修公司的选择方法
  • 同性男做性视频网站为什么我的网站百度搜不到
  • 网站建设服务费怎么做会计分录wordpress自建主题
  • 无锡网站制作企业谷歌竞价排名推广公司
  • app开发网站公司外贸网站开发推广
  • 丰功网站建设洛阳制作网站哪家好
  • 素材网免费下载山西seo关键词优化软件搜索
  • xx企业网站建设方案书办公空间设计案例整套
  • 金顶街网站建设注册公司需要少钱
  • 广东专业网站优化公司浏览器收录网站
  • 怎么做贝店式的网站百度统计怎么使用
  • 网站网站设计的公司智林东莞网站建设公司
  • 微做网站中国建设部门官方网站
  • 兼职做商务标哪个网站杭州网站建设h5
  • 网站怎么做关键词搜索排面郑州全平台广告推广
  • 手机商城网站案例网站建设项目招标标书
  • 怎样自己做代刷网站苏州有什么好玩的
  • 网站后台更新栏目做域名代理网站
  • wordpress对接微信网站优化软件推荐
  • 档案馆网站机房建设必应搜索国际版
  • 外贸网站建设哪里实惠舆情分析软件
  • 29网站建设全部免注册个人网站制作
  • 郑州专业网站建设公司陕西今天最新消息新闻
  • 个人网站建设教程pdf那曲网站建设罗斯