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

网站后台用户名外贸推广系统

网站后台用户名,外贸推广系统,小说阅读网站建设,网站开发工程师试用期前言 我觉得这是最有意思的模式&#xff0c;其中一个动&#xff0c;另外的自动跟着动。发布-订阅&#xff0c;我觉得很巧妙。 代码 头文件 #pragma once #include<vector> #include<string> #include<iostream>// 抽象观察者 class Aobserver { public:v…

前言

我觉得这是最有意思的模式,其中一个动,另外的自动跟着动。发布-订阅,我觉得很巧妙。

代码

头文件

#pragma once
#include<vector>
#include<string>
#include<iostream>// 抽象观察者
class Aobserver
{
public:virtual void update(std::string& updated_state) = 0;
};// 抽象通知者
class Asubject
{
protected:std::vector<Aobserver*> _pObservers;bool whetherRegist(Aobserver* p_observer){for (auto it : _pObservers) {if (it == p_observer) return true;}return false;}public:virtual void registObserver(Aobserver* p_observer) = 0;virtual void detachObserver(Aobserver* p_observer) = 0;virtual void notify(const std::string& teacher_name) = 0;};// 具体通知者
class Csubject1 : public Asubject
{
private:std::string _subjectName;public:Csubject1(const std::string& subject_name) :_subjectName(subject_name) {}// 注册观察者void registObserver(Aobserver* p_observer) override{if (p_observer!=nullptr && whetherRegist(p_observer) == false) {_pObservers.push_back(p_observer);}}void detachObserver(Aobserver* p_observer) override{if (p_observer != nullptr){for (auto it : _pObservers) {if (it == p_observer) {_pObservers.erase(std::remove(_pObservers.begin(),_pObservers.end(),it),_pObservers.end());}}}}void notify(const std::string& teacher_name) override{std::string notify_state = _subjectName + " say: "+ teacher_name +" is coming!";for (auto it : _pObservers) {it->update(notify_state);}}
};// 具体观察者
class Hablee : public Aobserver
{
private:void cancleReading(std::string& updated_state){std::cout << updated_state;std::cout << " you should stop reading" << std::endl;}public:void update(std::string& updated_state) override{this->cancleReading(updated_state);}};class Yuki : public Aobserver
{
private:void canclePlayingGuitar(std::string& updated_state){std::cout << updated_state;std::cout << " you should stop plaing guitar" << std::endl;}public:void update(std::string& updated_state) override{this->canclePlayingGuitar(updated_state);}
};

main.cpp

#include<iostream>
#include"Aobserver.h"int main()
{Csubject1 wzq("wangZhaoQi"); // 通知者Hablee lhb;	wzq.registObserver(&lhb);Yuki wwy;wzq.registObserver(&wwy);wzq.notify("lyj");wzq.notify("xiaoZhang");wzq.detachObserver(&lhb);wzq.notify("lyj");return 0;
}

在这里插入图片描述

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

相关文章:

  • 东莞住建局网站准备纸巾
  • 服装如何做微商城网站建设房屋装修图片
  • 手机网站程序深圳泰安建设公司怎么样
  • 网站开发报价合同网络平台制作公司
  • 汕头建站公司模板官网摩尔庄园
  • 昭通seo一个seo良好的网站其主要流量往往来自
  • 注册网站建设开发购物网站模板免费
  • 海口网站建设公司哪个好容城轻松seo优化排名
  • 海南网站建设海南网络公司wordpress h5
  • 购物网站的策划cms监控手机客户端
  • 做网站贵不wordpress博客主题自媒体
  • 建社个人网站wordpress微电影模板下载
  • 小视频的网站怎么做的wordpress 转 ios app
  • 手机怎么做网站添加背景音乐深圳网站建设有限公司
  • 自己怎么做短视频网站制作app连接网站
  • 东盟建设集团重庆工程有限公司网站户外旅游网站排名
  • 网站前台登录模板企业网络营销策略分析
  • 网站开发学习视频如何搭建网站教程
  • 深圳的网站建设公司的外文名是惠州营销网站建设
  • 阿里云服务器建设网站mg动画制作软件
  • 百度推广账户登录张家港seo建站
  • wordpress字体投影河北seo技术培训
  • 提升网站建设品质价位石家庄网站建设加q.479185700
  • 爱站之家公司做网站设计要注意
  • 玉溪做网站公司网络营销咨询服务
  • 杭州移动公司网站百度网站免费电话
  • 北京网站建设公司电扬重庆工程建设招标网官方网站
  • 企业网络营销策划方案费用百度seo推广怎么做
  • 免费免费建网站做污水处理的 登录哪个网站
  • 阿克苏交通建设局网站求网站开发客户