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

简单的网站作业微信广告平台

简单的网站作业,微信广告平台,指数基金怎么买,wordpress 下一篇插件在中介者模式中&#xff0c;中介者对象负责协调多个对象之间的交互&#xff0c;将对象之间的耦合度降低。 #include <iostream> #include <string> #include <vector>class Colleague;// 中介者接口 class Mediator { public:virtual void sendMessage(Coll…

在中介者模式中,中介者对象负责协调多个对象之间的交互,将对象之间的耦合度降低。

#include <iostream>
#include <string>
#include <vector>class Colleague;// 中介者接口
class Mediator
{
public:virtual void sendMessage(Colleague *sender, const std::string &message) = 0;
};// 同事类
class Colleague
{
protected:Mediator *mediator;std::string name;public:Colleague(Mediator *mediator, const std::string &name) : mediator(mediator), name(name) {}virtual void receiveMessage(const std::string &message) = 0;virtual void sendMessage(const std::string &message) = 0;
};// 具体同事类A
class ConcreteColleagueA : public Colleague
{
public:ConcreteColleagueA(Mediator *mediator, const std::string &name) : Colleague(mediator, name) {}void receiveMessage(const std::string &message) override{std::cout << "ConcreteColleagueA " << name << " received message: " << message << std::endl;}void sendMessage(const std::string &message) override{mediator->sendMessage(this, message);}
};// 具体同事类B
class ConcreteColleagueB : public Colleague
{
public:ConcreteColleagueB(Mediator *mediator, const std::string &name) : Colleague(mediator, name) {}void receiveMessage(const std::string &message) override{std::cout << "ConcreteColleagueB " << name << " received message: " << message << std::endl;}void sendMessage(const std::string &message) override{mediator->sendMessage(this, message);}
};// 具体中介者类
class ConcreteMediator : public Mediator
{
private:std::vector<Colleague *> colleagues;public:void addColleague(Colleague *colleague){colleagues.push_back(colleague);}void sendMessage(Colleague *sender, const std::string &message) override{for (Colleague *colleague : colleagues){if (colleague != sender){colleague->receiveMessage(message);}}}
};int main()
{ConcreteMediator mediator;ConcreteColleagueA colleagueA(&mediator, "A");ConcreteColleagueB colleagueB(&mediator, "B");mediator.addColleague(&colleagueA);mediator.addColleague(&colleagueB);colleagueA.sendMessage("Hello from A");colleagueB.sendMessage("Hi from B");return 0;
}

运行结果:

ConcreteColleagueB B received message: Hello from A
ConcreteColleagueA A received message: Hi from B

在上述代码中,Mediator是中介者接口,定义了发送消息的方法。Colleague是同事类,定义了接收消息和发送消息的方法。ConcreteColleagueA和ConcreteColleagueB是具体的同事类,实现了同事接口。ConcreteMediator是具体的中介者类,实现了中介者接口,并维护了同事对象的列表。在main函数中,我们创建了中介者对象和两个具体同事对象,并将同事对象添加到中介者中。然后,同事对象可以通过中介者来发送消息,并且中介者会将消息传递给其他同事对象。输出结果将显示同事对象之间的交互。

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

相关文章:

  • 做快三网站31省新增最新消息
  • 百度排名优化沈阳网站建设优化企业
  • 网站台做计么呢wordpress 国内加速
  • 金坛做网站哪家好做家电家具回收用哪个网站好
  • 网站加载很慢怎么办怎么创建微信公众号平台
  • 移动互联和网站开发机电建设工程施工网站图片
  • 长春建网站一般多少钱深圳市住房保障局官网
  • asp网站开发软件怎么样注册自己的网站
  • 莆田人做的网站开发公司欠缴空置房物业费的案例
  • 合肥市城乡建设厅网站校园网站建设教程
  • 家政服务公司网站源码苏州建设网站价格
  • 民治营销型网站费用网站建设市场分析2015
  • 263网站建设怎么样wordpress1.0下载
  • ps课堂网站分类网站建设
  • 网站建设管理工作备份文件wordpress
  • 网站建设教程高清视频做网站的公司现在还 赚钱吗
  • 微信网站作用公众号怎么开通申请
  • 网站建设 需要多少空间wordpress个人模版
  • 建设银行演示网站博物馆网站做的好的
  • 怎么做网站和注册域名腾讯企业邮箱手机版app
  • 昆明智能网站推广价格WordPress 插件修改界面
  • 专业的网站开发公司一个app开发大概要多少钱
  • 广州专业的网站推广工具哪个网站比较好
  • 临沂河东区建设局网站淘宝客wordpress模板
  • 自学做衣服的网站大学生网站建设方案
  • 爱网站长尾2020全国封城时间表
  • 建设一个门户网站 费用wordpress网站怎么加小游戏
  • 深圳专业做网站建网站价格php网站 mysql数据库配置文件
  • 做直播网站的上市公司wordpress 主题备份
  • 秦皇岛营销式网站高水平高职建设网站