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

用html5做的静态网站百度竞价渠道代理商

用html5做的静态网站,百度竞价渠道代理商,wordpress 简书风格,美橙网站设计意图:将对象组成树状结构以表示“部分-整体”的层次结构,使得Client对单个对象和组合对象的使用具有一致性。 上下文:在树型结构的问题中,Client必须以不同的方式处理单个对象和组合对象。能否提供一种封装&#xff0c…

意图:将对象组成树状结构以表示“部分-整体”的层次结构,使得Client对单个对象和组合对象的使用具有一致性。

上下文:在树型结构的问题中,Client必须以不同的方式处理单个对象和组合对象。能否提供一种封装,统一简单元素和复杂元素的概念,让对象容器自己来实现自身的复杂结构,让Client可以像处理简单元素一样来处理复杂元素,从而使Client与复杂元素的内部结构解耦?

UML

在这里插入图片描述

Component:为Composite中的对象声明接口;在适当情况下,实现所有类公共接口的默认行为;声明一个接口,用于访问和管理Component的子部件;在递归结构中定义一个接口,用于访问一个父部件,并在适当的情况下实现它。
Leaf:在Composite中表示叶子对象。
Composite:存储子部件,并定义有子部件的那些部件的行为。
Client:通过Component接口操作Composite的对象。

在这里插入图片描述

代码:

#include <iostream>
#include <list>
using namespace std;class Component
{
public:string name;Component(string name):name(name){}virtual void add(Component *c) = 0;virtual void remove(Component *c) = 0;virtual void display(int depth) = 0;
};class Leaf:public Component
{
public:// Component interfaceLeaf(string name):Component(name){}
public:void add(Component *c);void remove(Component *c);void display(int depth);
};void Leaf::add(Component *c )
{(void)(c);//消除警告cout << "不能向叶子中添加Component" << endl;
}void Leaf::remove(Component *c)
{(void)(c);//Warningcout << "不能从叶子中删除Component" << endl;
}void Leaf::display(int depth)
{cout << string(depth,'-') << this->name << endl;
}class Composite:public Component
{
public:list<Component*> children;// Component interfaceComposite(string name):Component(name){}
public:void add(Component *c);void remove(Component *c);void display(int depth);
};
void Composite::add(Component *c)
{children.push_back(c);
}void Composite::remove(Component *c)
{children.remove(c);
}void Composite::display(int depth)
{cout << string(depth,'-') << this->name << endl;list<Component*>::iterator it;for(it = children.begin();it != children.end();it++){Component *c = *it;c->display(depth + 2);}
}
int main()
{Composite *root = new Composite("树干");root->add(new Leaf("树叶1"));root->add(new Leaf("树叶2"));Composite *c1 = new Composite("树枝1");c1->add(new Leaf("树叶1-1"));c1->add(new Leaf("树叶1-2"));root->add(c1);Composite *c1_1 = new Composite("树枝1-1");c1_1->add(new Leaf("树叶1-1-1"));c1_1->add(new Leaf("树叶1-1-2"));c1->add(c1_1);root->add(new Leaf("树叶3"));root->display(1);return 0;
}

结果

-树干
---树叶1
---树叶2
---树枝1
-----树叶1-1
-----树叶1-2
-----树枝1-1
-------树叶1-1-1
-------树叶1-1-2
---树叶3
http://www.zhongyajixie.com/news/59099.html

相关文章:

  • 做的好的大学生旅行有哪些网站好靠谱的影视后期培训班
  • 永久免费的个人oa办公软件成都专业seo公司
  • 梧州网站优化价格店铺100个关键词
  • 回收网站怎么做今日新闻最新事件
  • 做外贸主页网站用什么的空间好点全网营销国际系统
  • wordpress投稿分成关键词优化简易
  • 赣州网站建设方案常德网站优化公司
  • 虹口网站建设公司什么是网络营销推广
  • 学做ps的网站有哪些报个电脑培训班要多少钱
  • 做好网站改版工作济南网络推广
  • 做水利网站需要多少钱如何在百度推广
  • sedo这种多语言网站怎么建设网络推广电话
  • 郑州做网站公司排中国最新消息新闻
  • dede增加手机网站怎么搭建属于自己的网站
  • 网站如何做交换链接域名解析查询
  • 企业网站可以自己做如何做个网站推广自己产品
  • 怎样做网站外部链接网站建设的好公司
  • 成华区建设局质检站网站整合营销方案
  • 医院网站建设技术方案36优化大师下载安装
  • 5分钟建站wordpress买卖链接网
  • 龙岗网站制作郑州网络推广厂家
  • 专业格泰建站看今天的新闻
  • 织梦怎么做中英文网站切换发帖秒收录的网站
  • wordpress强制分享代码电商关键词seo排名
  • 网站建设分配人员方案阿里云注册域名
  • 好制作网站公司查域名的网址
  • 建设项目环境影响登记表网站网站优化名词解释
  • 阿里巴巴网站运营怎么做百度搜索引擎的优缺点
  • 网站建设课程报告西安网站建设比较好的公司
  • vue做电商网站吉林百度seo公司