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

网站建设选哪个网络推广软件免费

网站建设选哪个,网络推广软件免费,网络注册平台怎么注册,wordpress做视频网站概念 组合人模式是结构型设计模式的一种,主要是用于解决代码中出现类像树一样进行组合而出现的组合结构的相关操作问题。使其树中的任意一个节点(无论是子节点还是父节点)都可以使用同一套接口进行操作。 使用场景 1、如果希望我们对象组合…

概念

组合人模式是结构型设计模式的一种,主要是用于解决代码中出现类像树一样进行组合而出现的组合结构的相关操作问题。使其树中的任意一个节点(无论是子节点还是父节点)都可以使用同一套接口进行操作。

使用场景

1、如果希望我们对象组合像树一样,就可以使用组合模式

2、客户端的代码需要以相同的方式处理复杂或者简单的元素(组合对象或者单个对象),可以使用组合模式。

实现方式

1、创建一个可以组成树状结构的核心模型(抽象接口类)。尝试将其分解为简单的元素和容器,容器必须能够同时包含简单元素和其他容器。

2、声明组件接口及其一系列的方法,这些方法对简单和复杂元素都有意义。

3、创建一个叶节点类的表示元素。

4、创建一个容器类表示复杂元素,在该类中,创建一个数组成员变量来存储对于子元素的引用,该数组必须能够同时保持叶节点和容器,因此请确保将其声明为组合接口类型。

5、最后,容器中定义添加和删除子元素的方法。

类组合结构

在这里插入图片描述

示例代码

#include <iostream>
#include "ZuHeMoshi.h"int main()
{std::cout << "欢迎东哥来到设计模式的世界!\n";//创建叶子节点Leaf leaf1;leaf1.setTime(2);Leaf leaf2;leaf2.setTime(2);Leaf leaf3;leaf3.setTime(2);Leaf leaf4;leaf4.setTime(2);AbstractBase* container1 = new Container();container1->addAbstractBase(&leaf1);container1->addAbstractBase(&leaf2);cout << "container1 time : " << container1->allTime() << endl;AbstractBase* container2 = new Container();container2->addAbstractBase(&leaf3);container2->addAbstractBase(&leaf4);container2->addAbstractBase(container1);cout << "container2 time : " << container2->allTime() << endl;
}
#pragma once
#include <vector>
using namespace std;
class AbstractBase
{
public:AbstractBase() {}~AbstractBase() {}virtual void addAbstractBase(AbstractBase* abstractBase) {};virtual int allTime() { return 0; };//计算所有时间,假设代码中这是需要计算组合或者单个元素的运行时间的函数int m_time;
};class Leaf : public AbstractBase
{
public:Leaf() {}~Leaf() {}int allTime();void setTime(int time) {m_time = time;}
private:int m_time;
};class Container : public AbstractBase
{
public:Container() {}~Container() {}void addAbstractBase(AbstractBase* abstractBase);//暂时就写个添加int allTime();
private:vector<AbstractBase*> m_vAbstractBase;
};
#include "ZuHeMoshi.h"int Leaf::allTime()
{return m_time;
}void Container::addAbstractBase(AbstractBase* abstractBase)
{m_vAbstractBase.push_back(abstractBase);
}int Container::allTime()
{int sun = 0;for (AbstractBase* base : m_vAbstractBase) {sun += base->allTime();}return sun;
}
http://www.dtcms.com/wzjs/135915.html

相关文章:

  • 象山网站优化公司seo查询5118
  • 企业oa网站建设方案优化设计高中
  • 河南党风廉政建设杂志网站竞价推广开户
  • 收录好的网站有哪些国际大新闻最新消息
  • 腾讯云wordpress教程视频seo网站推广软件
  • 黑链 对网站的影响提高搜索引擎检索效果的方法
  • asp.net 怎么做网站seo关键词排名优化哪家好
  • 做网站配置色盲测试图及答案大全
  • 吐鲁番市建设局网站鸣蝉智能建站
  • wordpress改成英文济南seo的排名优化
  • 网站demo怎么做个人网站网址
  • 建设网站的公司网站交易网
  • 专业的常州做网站镇江关键字优化品牌
  • 合肥专业网站建设企业管理
  • 免费网站100m微信营销平台有哪些
  • 安装师傅最好的接单平台网站优化怎么操作
  • 电子商务网站名称和网址天津seo排名效果好
  • wordpress2017网站怎样优化seo
  • 深圳 汽车网站建设有源码怎么搭建网站
  • 如何去除网站外链创建网站免费注册
  • wordpress尾部怎么改江苏网站seo设计
  • 网站微信建设运维经验网络推广免费平台
  • 发视频的网址网址是什么?信息流优化师是什么
  • 哈尔滨网络建站的公司免费发seo外链平台
  • 网站添加微信优化大师下载
  • 网站输入字符 显示出来怎么做国外b站不收费免费2023
  • 攻击网站的方法关键词权重
  • 滁州网站开发czesou2023必考十大时政热点
  • 南宁网站建设团队hs网站推广
  • 一起做网店网站特点石家庄seo代理商