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

免费网站整站模板源码中国品牌500强排名

免费网站整站模板源码,中国品牌500强排名,网站如果不续费会怎样,做个网站需要多少钱.1、组合模式的提出 在软件开发过程中#xff0c;使用者Client过多依赖所操作对象内部的实现结构#xff0c;如果对象内部的实现结构频繁发生变化#xff0c;则使用者的代码结构将要频繁地修改#xff0c;不利于代码地维护和扩展性#xff1b;组合模式可以解决此类问题。组…1、组合模式的提出 在软件开发过程中使用者Client过多依赖所操作对象内部的实现结构如果对象内部的实现结构频繁发生变化则使用者的代码结构将要频繁地修改不利于代码地维护和扩展性组合模式可以解决此类问题。组合模式可以使用者代码与复杂地操作对象结构进行解耦根据操作对象的实现结构抽象出一个的基类让操作对象内部根据需求变化实现复杂数据地操作接口则使用者使用操作对象提供的统一接口就可完成功能。 2、需求描述 有根节点、子节点、叶子节点这三种节点都有自己的名字。操作规则根节点下面可以添加子节点和叶子节点子节点下面可以添加子子节点和叶子节点叶子节点下面不能再添加其他节点。 设计一个功能代码模拟上面的节点添加规则使用者可以访问这些节点的数据结构。 3、功能实现 1UML图如下 2代码实现如下 #include iostream #include string #include vectorclass Component { protected:std::string m_strName; public:Component(std::string name):m_strName(std::move(name)){};virtual void operation() const 0;std::string getName(){return m_strName;};virtual ~Component(){}; };class Leaf:public Component { public:explicit Leaf(std::string name):Component(name){};virtual void operation() const override{std::cout Leaf: m_strName std::endl;}; };class Composite:public Component { private:std::vectorComponent*m_vecChildren; public:explicit Composite(std::string name):Component(name){};void add(Component* p){m_vecChildren.emplace_back(p);};void remove(Component* p){for (auto it m_vecChildren.begin(); it ! m_vecChildren.end(); it) {if (*it p) {m_vecChildren.erase(it);std::cout m_strName remove: p-getName() std::endl;break;}}};void operation() const override {std::cout Composite: m_strName std::endl;for (const auto child : m_vecChildren) {child-operation();}}~Composite(){std::vectorComponent*().swap(m_vecChildren);std::cout ~Composite() std::endl;} }; class Client { public:void doWork(){// 创建叶节点Component* leafNode1 new Leaf(leafNode 1);Component* leafNode2 new Leaf(leafNode 2);Component* leafNode3 new Leaf(leafNode 3);// 创建容器子节点Composite* childNode1 new Composite(childNode 1);Composite* childNode2 new Composite(childNode 2);// 将叶节点添加到容器子节点中childNode1-add(leafNode1);childNode1-add(leafNode2);childNode2-add(leafNode3);// 将容器节点添加到根容器中Composite* rootNode new Composite(rootNode);rootNode-add(childNode1);rootNode-add(childNode2);// 调用根容器的操作方法将逐层遍历整个组合结构并调用每个节点的操作方法rootNode-operation();//移除节点std::cout \n std::endl;childNode1-remove(leafNode2);rootNode-remove(childNode2);std::cout \n std::endl;// 调用根容器的操作方法将逐层遍历整个组合结构并调用每个节点的操作方法rootNode-operation();delete leafNode1;delete leafNode2;delete leafNode3;delete childNode1;delete childNode2;delete rootNode;leafNode1 nullptr;leafNode2 nullptr;;leafNode3 nullptr;;childNode1 nullptr;;childNode2 nullptr;;rootNode nullptr;;} }; int main() {Client obj;obj.doWork();return 0; }程序运行结果如下
http://www.hkea.cn/news/14288641/

相关文章:

  • 那个网站报道过鸟巢建设沈阳又一烂尾项目复工
  • 南昌seo网站推广中国新闻社江西分社
  • 网站开发及技术路线php网站开发经典教材
  • 如何在网站做淘宝页面saas系统是什么意思啊
  • 湿地保护宣教网站建设意义wordpress简洁cms主题
  • 惠阳营销网站制作wordpress 同步 微博
  • 天河做网站湛江企业模板建站
  • 网站要什么软件做外贸网站镜像
  • 齐齐哈尔市建设工程监察网站资源网源码
  • 国内网站建设建设外企公司网站开发设计
  • 网站排名查询系统网站淘宝客一般怎么做
  • 西安建设公司网站wordpress加载模板
  • wordpress新站都该设置些什么做空比特币的网站
  • 电影网站建设教学视频邵东做网站
  • 免费外链网站最佳品牌营销策划公司
  • 快速搭建网站的软件广东两学一做网站
  • 广东省住房和城乡建设厅官方网站发布企业信息的网站
  • 网站服务器怎么更换阿里巴巴国际站怎么网站建设
  • 怎么做北京赛车网站kali wordpress
  • 网站信息备案变更 哪里做搭建linux服务器
  • 有哪些是用到了网站推广wordpress 微商
  • 佛山公司网站推广外包服务优化方案2022版
  • 网站自动采集rss佛山市网站建设企业
  • 广州北京网站建设公司网站权重如何做
  • 如何在网站上做推广专业的佛山网站设计
  • 免费ppt模板 网站开发专业网站建设的价格
  • 做磁力网站网站开发发展存在的问题
  • 自己做的网站绑定域名怎么添加wordpress模板文件
  • wikidot网站怎么做东莞整站优化公司火速公司
  • 怎么在主机上的建设网站做银行流水网站