早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】现欲构造一文件/目录树,

题目

阅读下列说明和c++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】

现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如6—7所示:

【c++代码】

include<1ist>

include

include

using namespace std;

class AbstractFile{

protected:

string name;//文件或目录名称

public:

void printName(){cout<*getChildren()=0; //获得一个目录的子目录或文件

};

class File:public AbstractFile{

public:

File(string name){ (1) =name;)

void addChild(AbstractFile*file){return ;)

void removeChiid(AbstractFile*file){return;}(2) getChildren(){return ( 3 ) ;}

};

class Folder:public AbstractFile{

private:

listchildList; //存储子目录或文件

public:

Folder(string name){ (4) =name;}

void addChild(AbstractFile*file){childList.push back(file);}

void removeChiid(AbstractFile*file)(chiidList.remove(file);}

list*getChildren(){return (5) ;)

};

voidmain(){

//构造一个树形的文件/目录结构

AbstractFile*rootFolder=new Folder(“C:\\”);

AbstractFile*compositeFolder=flew Folder(”composite”);

AbstractFile*windowsFolder=new Folder(”windows”);

AbstractFile*file=new File(”TestComposite.java”);

rootFolder->addChild(compositeFolder);

rootFolder->addChild (windowsFolder);

compositeFolder->addChiid(file);

)

参考答案
正确答案:(1)this一>name(2)list*(3)NULL(4)this->name(5)&childList
(1)this一>name(2)list*(3)NULL(4)this->name(5)&childList 解析:Composite模式定义:将对象以树型结构组织起来,以达成“部分一整体”的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。Composite比较容易理解,想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法的对象并实现调用执行。AbstractFile为一个抽象文件类,其作用主要是实现对文件或者文件夹的抽象。文件类File继承自AbstractFile。File(stringname)为File类的一个属性,用于获取文件名称。Addchild方法用来给一个目录增加子目录或文件。Removechild方法用于删除一个目录的子目录或文件。Getchildren方法用于获取一个目录或文件,所以返回值类型应该是一个列表形式的AbstractFile,但文件本身不包括子目录,故返回NULL。Fold类表示一个文件夹,属性Fold.er用于获取文件夹名称,Getchildren方法返回值应为List型的AbstractFile对象指针。
看了阅读下列说明和c++代码,将应...的网友还看了以下:

一个汽车零件制造车间有工人20名,已知每名工人每天可制造甲种零件6个或乙种零件5个,且每制造一个甲种 数学 2020-03-30 …

不懂啊,帮我吧,一件件(),补充完整,再造个句子仿造例子:银杏树的叶子像一把把小扇子。补充一件件( 语文 2020-05-15 …

计算机的病毒所造成的危害是( )。A.破坏计算机系统软件或文件内容B.造成硬盘或软盘物理破坏C.使计 计算机类考试 2020-05-23 …

计算机病毒所造成的危害是A.破坏计算机系统软件或文件内容B.造成硬盘或软盘物理破损C.使计算机突 计算机类考试 2020-05-24 …

甲,乙,丙三人在同一时间内共制造420个零件,制造一个零件,甲要5分钟,乙要6分钟,完成任务时,甲 数学 2020-06-03 …

制造一个零件制造一个零件,甲要6分钟,乙要六分钟,丙要4.现有1590个零件任务,分配给他们三人, 数学 2020-06-04 …

指出错误:新题型题库(数学)小学数学新题型题库第四章第五节比和比例应用题173页46题甲乙丙三人在 数学 2020-07-09 …

一个汽车零件制造车间有工人20名,已知每名工人每天可制造甲种零件6个或乙种零件5个,且每制造一个甲 数学 2020-07-23 …

(2010•漳州)一个汽车零件制造车间有工人20名,已知每名工人每天可制造甲种零件6个或乙种零件5个 其他 2020-11-12 …

甲企业与乙企业处于不同地方,拥有同样多的员工,在相同时间内所创造的商品数量如下面图表。由图表可知甲乙 其他 2020-11-17 …