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

卡盟自助网站建设网站排名优化软件联系方式

卡盟自助网站建设,网站排名优化软件联系方式,网站建设测试与维护,wordpress exp策略模式&#xff08;Strategy Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一系列的算法&#xff0c;并将每个算法封装成独立的对象&#xff0c;使得它们可以互相替换。下面是一个使用C实现策略模式的示例&#xff1a; #include <iostream>// 抽象策略类…

策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列的算法,并将每个算法封装成独立的对象,使得它们可以互相替换。下面是一个使用C++实现策略模式的示例:

#include <iostream>// 抽象策略类
class Strategy
{
public:virtual void execute() = 0;
};// 具体策略类1
class ConcreteStrategy1 : public Strategy
{
public:void execute() override{std::cout << "Executing Concrete Strategy 1" << std::endl;}
};// 具体策略类2
class ConcreteStrategy2 : public Strategy
{
public:void execute() override{std::cout << "Executing Concrete Strategy 2" << std::endl;}
};// 上下文类
class Context
{
private:Strategy *strategy;public:Context(Strategy *strategy) : strategy(strategy) {}void setStrategy(Strategy *strategy){this->strategy = strategy;}void executeStrategy(){strategy->execute();}
};int main()
{Strategy *strategy1 = new ConcreteStrategy1();Strategy *strategy2 = new ConcreteStrategy2();Context context(strategy1);context.executeStrategy(); // 输出 "Executing Concrete Strategy 1"context.setStrategy(strategy2);context.executeStrategy(); // 输出 "Executing Concrete Strategy 2"delete strategy1;delete strategy2;return 0;
}

运行结果:

Executing Concrete Strategy 1
Executing Concrete Strategy 2

在上述示例中,我们首先定义了一个抽象策略类 Strategy,其中包含一个纯虚函数 execute()。然后,我们创建了两个具体策略类 ConcreteStrategy1 和 ConcreteStrategy2,它们分别实现了 execute() 函数。
接下来,我们定义了上下文类 Context,其中包含一个私有成员 strategy,用于保存当前的策略对象。Context 类中的 setStrategy() 函数用于设置当前策略,executeStrategy() 函数用于调用当前策略的 execute() 函数。
在 main() 函数中,我们首先创建了两个具体策略对象 strategy1 和 strategy2,然后创建了一个 Context 对象 context,并将 strategy1 设置为当前策略,最后调用 executeStrategy() 函数,输出的是 “Executing Concrete Strategy 1”。接着,我们将 strategy2 设置为当前策略,并再次调用 executeStrategy() 函数,输出的是 “Executing Concrete Strategy 2”。
这样,我们就实现了一个简单的策略模式。通过将算法封装成具体策略对象,并在上下文类中动态设置当前策略,我们可以根据需要切换不同的算法实现。这种方式使得算法的变化独立于使用算法的客户端,提高了代码的灵活性和可维护性。

http://www.ds6.com.cn/news/74019.html

相关文章:

  • 深圳手机建站模板百度大数据查询
  • 做电子商务网站需要什么软件深圳产品网络推广
  • 中山网站建设文化策划seo推广沧州公司电话
  • 杭州哪里可以做网站推广杭州企业seo
  • 网站备案地区百度品牌广告多少钱一个月
  • 网站里面怎么做数字滚动百度小说排行榜2019
  • tradexdll.wordpress搜索引擎优化自然排名的优点
  • web网站开发怎么分工上海今天最新新闻10条
  • 中国空间站结构示意图企业推广是什么意思
  • 公司网站工商备案怎么做广州百度关键词搜索
  • wordpress站内搜索框网站建设公司服务
  • 黄石做企业网站抖音seo优化排名
  • 刘淼 网站开发怎么注册一个自己的网站
  • 专业网站建设推荐北京网站优化
  • wordpress设置访客登陆宁波seo专员
  • 部门网站建设宗旨无锡网络推广平台
  • 上海给政府机关做网站开发 万seo推广收费标准
  • 外贸网站运营怎么做建站模板免费下载
  • 建立网站的软件seo+网站排名
  • 免费制作封面的网站百度浏览器入口
  • 中国水利教育培训网站网站优化包括哪些
  • 一台独立服务器如何做多个网站拉新推广平台
  • wordpress the_excerpt()西安网站seo公司
  • 做网站需要专业北京网站外包
  • 建设公司网站多少钱视频号直播推广二维码
  • 查询网站注册时间网络服务器地址怎么查
  • 有什么做3维的案例网站首页排名优化公司
  • 首京建设投资引导基金网站百度权重高的发帖网站
  • 选图片的网站百度推广助手官方下载
  • 网络营销的网站分类有互联网金融