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

网站建设选哪个东莞网站设计排行榜

网站建设选哪个,东莞网站设计排行榜,怎么登陆自己的公司网站,不用ftp做网站概念 组合人模式是结构型设计模式的一种,主要是用于解决代码中出现类像树一样进行组合而出现的组合结构的相关操作问题。使其树中的任意一个节点(无论是子节点还是父节点)都可以使用同一套接口进行操作。 使用场景 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/192306.html

相关文章:

  • 网站建设是虚拟行业吗深圳网络品牌推广公司
  • pc网站向手机站传递权重seow
  • 偷拍小情侣酒店做爰网站网络推广一般都干啥
  • 做网站店铺怎样打理网站收录批量查询
  • 西宁的网站建设公司怎么在百度发布免费广告
  • 西安网站建设地址天津seo推广
  • 深圳网站设计公司费用网络营销网
  • 网站制作有限公司找百度
  • 做的好的商城网站设计营销策略ppt
  • 网站换新的空间域名解析怎么做google推广服务商
  • 如何做优化网站排alexa优化网络营销推广方案步骤
  • 微网站开发费用河南网站建站推广
  • 长春做个人网站做不了百度seo公司报价
  • 外贸自建站有哪些哔哩哔哩推广网站
  • 做家教网站资质谷歌浏览器安卓版
  • 转入已备案网站产品seo标题是什么
  • p2p网站如何做测试seo数据是什么意思
  • 沈阳犀牛云做网站怎么样鱼头seo软件
  • 西安便宜做网站的ip反查域名网站
  • 怎么样让百度收录网站seo标题优化的方法
  • 快速搭建网站vue小程序开发一个多少钱啊
  • app制作网站制作完今日热点新闻头条
  • 聚美优品网站建设策划书线上营销策略
  • 国外网站都不能上怎么做跨境电商什么是sem推广
  • 吉林省住房和城乡建设厅网站6软文营销策划方案
  • 南昌网站建设利润咸阳seo
  • 做网站需要准备什么条件新闻头条最新消息30字
  • wordpress搬家后台还是老网站百度助手app免费下载
  • 微信公众平台微网站怎么做网络营销的五个发展阶段
  • 建设网站编程语言网站搭建需要什么