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

虚拟空间软件下载佛山seo外包平台

虚拟空间软件下载,佛山seo外包平台,个人做旅游网站的意义,外贸网站优化建设组合模式定义 C组合模式(Composite Pattern)是一种结构型设计模式,他允许将对象组合成树形结构来表示“部分-整体”的层次结构;在组合模式中有两种基本类型的对象:叶子对象和组合对象,叶子对象时没有子对象…

组合模式定义

C++组合模式(Composite Pattern)是一种结构型设计模式,他允许将对象组合成树形结构来表示“部分-整体”的层次结构;在组合模式中有两种基本类型的对象:叶子对象和组合对象,叶子对象时没有子对象的,而组合对象则是拥有子对象的。叶子对象和组合对象都实现了相同的接口,以便可以用相同的方式处理他们。

简单的C++组合模式实例

#include <iostream>
#include<vector>//抽象基类,定义组合对象和叶子对象的公共接口,
class Component
{
public://纯虚函数,需要子类实现,virtual void operation() = 0;
};//叶子对象,无子对象,实现Component接口
class Leaf :public Component
{
public:void operation() override{std::cout << "Lead operation" << std::endl;}
};
//组合对象,拥有子对象,实现Component接口
class Composite :public Component
{
public://添加子对象到子对象列表中void add(Component* component){children.push_back(component);}void operation() override{std::cout << "Composite operation" << std::endl;for (auto child : children){child->operation();}}
private:std::vector<Component*>children; //子对象列表
};
int main()
{Leaf leaf;Composite composite;composite.add(&leaf);composite.add(&leaf);composite.add(&leaf);composite.operation();return 0;}

在这里插入图片描述

文件系统来演示组合模式

我们以一个文件系统为例,使用组合模式来表示文件系统中的目录文件的关系

#include <iostream>
#include<string>
#include<vector>//抽象基类,定义了组合对象和叶子对象的公共接口
class FileSystemComponent
{
public:virtual void showInfo() = 0;virtual ~FileSystemComponent() {};
};
//叶子对象:文件
class File :public FileSystemComponent
{
public:File(const std::string& name) :m_Name(name) {}void showInfo() override{std::cout << "File:" << m_Name << std::endl;}
private:std::string m_Name;
};//组合对象:目录
class Directory :public FileSystemComponent
{
public:Directory(const std::string& name) :m_Name(name) {}void add(FileSystemComponent* com){children.push_back(com);}void showInfo() override{std::cout << "Directory:" << m_Name << std::endl;for (auto& item : children){item->showInfo();}}private:std::string m_Name;std::vector<FileSystemComponent*> children;
};int main()
{Directory root("root"); //根节点Directory mnt("mnt");Directory tmp("tmp");root.add(&mnt);root.add(&tmp);File ext("ext");File nfs("nfs");mnt.add(&ext);tmp.add(&nfs);root.showInfo();return 0;}

在这里插入图片描述

http://www.tj-hxxt.cn/news/43490.html

相关文章:

  • 如何免费自己做个网站关键词排名点击软件网站
  • 建设银行官方网站登录网址互联网推广公司
  • wordpress菜单居右网站seo外包
  • 网页制作工具按其制作方式分为谷歌自然排名优化
  • 网站建设合同性质超级优化大师下载
  • 网站 内容香港疫情最新消息
  • 手机网站横幅制作模板免费seo快速排名系统
  • wordpress标题加密杭州seo建站
  • seo快速提高网站转化率怎么制作网站详细流程
  • 网站索引下降如何解决seo网站推广怎么做
  • 浙江住房和建设网站厦门网站外包
  • 摄影网站排行重庆百度seo排名
  • 网站维护能自己做吗seo怎么推广
  • 适合前端新手做的网站百度seo 站长工具
  • 扬州市住房和建设局网站免费投放广告的平台
  • 企业网站建设自己的官网网站不收录怎么办
  • 武汉网站关键字优化亚马逊开店流程及费用
  • 查询网站是否做301营销培训课程
  • 中元建设集团网站找资源最好的是哪个软件
  • 西安网站维护托管长尾关键词在线查询
  • 亚马逊品牌备案网站怎么做今天发生了什么重大新闻
  • 做系统之前的网站收藏在哪网站优化课程
  • 计算机做网站外贸网站搭建推广
  • 网站流量分析系统建站开发
  • 怎么做网站描述郑州抖音推广
  • url转发 网站标题宁波seo排名外包
  • 做网站困难嘛刷关键词排名系统
  • 专业做网站推广的公司每日一则新闻摘抄
  • 怎么把网站制作成安卓公司注册
  • 百度app下载官方免费下载最新版百度seo和sem