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

装修网站模板百度识图找原图

装修网站模板,百度识图找原图,网站建设的网页怎么做,区网站建设1. 模式简介 组合模式是一种结构型模式。 组合模式又叫做部分整体模式,组合模式用于把一组相似的对象当做一个单一的对象。特别擅长处理树形的数据,对于非树形的数据不好用它。 对于树形的数据,一个典型的例子就是文件系统。在文件系统里大致…

1. 模式简介

组合模式是一种结构型模式

组合模式又叫做部分整体模式,组合模式用于把一组相似的对象当做一个单一的对象。特别擅长处理树形的数据,对于非树形的数据不好用它。

对于树形的数据,一个典型的例子就是文件系统。在文件系统里大致上可以分为文件夹文件两种类型的数据文件夹中可以包含文件也可以包含其他文件夹。就像下面这张图一样,文件的组织就像一颗多叉树。

如果使用组合模式来实现类似tree命令的文件名打印,UML类图如下:

比较简单,不详细说了,直接看下面的代码吧,兄弟们

2. 代码示例

#include <iostream>
#include <string>
#include <vector>using namespace std;class FileSystem
{
public:FileSystem(string name) : m_name(name) {}virtual ~FileSystem() {}virtual void show(int level = 0)=0;virtual bool addFile(FileSystem* file)=0;
protected:string m_name;
};class File : public FileSystem
{
public:File(string name) : FileSystem(name) {}void show(int level = 0){for (int i = 0; i < level; i++)cout << "    ";cout << "- " << m_name << endl;}bool addFile(FileSystem* file) { return false; }
};class Directory : public FileSystem
{
public:Directory(string name) : FileSystem(name) {}void show(int level = 0){for (int i = 0; i < level; i++)cout << "    ";cout << "+ " << m_name << endl;for (int i = 0; i < m_files.size(); i++)m_files[i]->show(level + 1);}bool addFile(FileSystem* file){if (file == NULL)return false;m_files.push_back(file);return true;}
private:vector<FileSystem*> m_files;
};int main()
{Directory* root = new Directory("root");Directory* dir1 = new Directory("dir1");Directory* dir2 = new Directory("dir2");File* file1 = new File("file1");File* file2 = new File("file2");File* file3 = new File("file3");root->addFile(dir1);root->addFile(dir2);dir1->addFile(file1);dir1->addFile(file2);dir2->addFile(file3);root->show();delete root;delete dir1;delete dir2;delete file1;delete file2;delete file3;return 0;
}

运行结果如下:

打印出了目录结构。

比较简单,使用场景也比较受限,出场机会不多。

http://www.mmbaike.com/news/68056.html

相关文章:

  • 大庆市建设局网站刘东东莞网站建设快速排名
  • 泰州专业网站制作公司搜索引擎营销的方法有哪些
  • django做网站比较容易权威seo技术
  • 装修设计网站源码无锡百度seo优化
  • 订做网站建设贵州百度seo整站优化
  • 网站改版收录减少开鲁网站seo站长工具
  • 如何自建淘宝客网站网站建设网站设计
  • 一般公司网址都怎么写电脑系统优化软件哪个好用
  • wordpress epix v1.2做seo如何赚钱
  • 在线教育网站html模板seo人才
  • 做网站的团队百度指数在线查询小程序
  • 网站目录怎么做301跳转手机百度网盘网页版登录入口
  • 自己做网站写文章深圳推广公司哪家好
  • 网站建设公司的正反搜索引擎优化内容包括哪些方面
  • 手表网站背景如何开发一个网站
  • 做网站用哪种语言好免费网站搭建
  • 聚通装潢口碑好不好百度seo免费推广教程
  • 网站底部的图标超级seo外链工具
  • WordPress怎么取消邮箱注册seo综合排名优化
  • 爱用建站正规吗网页设计代码大全
  • 是不是做网站就能赚钱广州百度seo
  • 封面设计网站互联网推广方式
  • 那些做测评的网站整站优化包年
  • 网站运营建设的目标百度小程序优化
  • 济南网站建设策划网页优化公司
  • 湖北网站建设上海网站建设seo
  • 本机iis发布网站后台管理百度推广费用可以退吗
  • 酷炫网站设计口碑优化
  • 承德公司做网站自己如何制作网站
  • 建设银行官网app安徽搜索引擎优化