首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和c++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如6—7所示: 【c++代码】 #include #include #include
阅读下列说明和c++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如6—7所示: 【c++代码】 #include #include #include
admin
2010-05-08
58
问题
阅读下列说明和c++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如6—7所示:
【c++代码】
#include<1ist>
#include
#include
using namespace std;
class AbstractFile{
protected:
string name;//文件或目录名称
public:
void printName(){cout<
virtual void addChild(AbstractFile*file)=0 ; //给一个目录增加子目录或文件
virtual void removeChild(AbstractFile*file)=O; //删除一个目录的子目录或文件
virtual list
*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:
list
childList; //存储子目录或文件
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
解析
Composite模式定义:将对象以树型结构组织起来,以达成“部分一整体”的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。Composite比较容易理解,想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法的对象并实现调用执行。AbstractFile为一个抽象文件类,其作用主要是实现对文件或者文件夹的抽象。文件类File继承自AbstractFile。File(stringname)为File类的一个属性,用于获取文件名称。Addchild方法用来给一个目录增加子目录或文件。Removechild方法用于删除一个目录的子目录或文件。Getchildren方法用于获取一个目录或文件,所以返回值类型应该是一个列表形式的AbstractFile,但文件本身不包括子目录,故返回NULL。Fold类表示一个文件夹,属性Fold.er用于获取文件夹名称,Getchildren方法返回值应为List型的AbstractFile对象指针。
转载请注明原文地址:https://www.kaotiyun.com/show/kSDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
编译器和解释器是两种基本的高级语言处理程序。编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等阶段,其中,___________并不是每个编译器都必需的。
以下关于软件测试原则的叙述中,正确的是______。①测试开始得越早,越有利于发现缺陷②测试覆盖率和测试用例数量成正比③测试用例既需选用合理的输入数据,又需要选择不合理的输入数据④应制定测试计划并严格执行,排除随意性
CMM模型将软件过程的成熟度分为5个等级。在(21)使用定量分析来不断地改进和管理软件过程。
测试用例的三要素不包括________。
以下关于防火墙功能特性的说法中,错误的是______。
Bug记录信息包括________________。①被测软件名称②被测软件版本③测试人④错误等级⑤开发人⑥详细步骤
一个程序的控制流图中有8个节点、12条边。在测试用例数最少的情况下,确保程序中每个可执行语句至少执行一次所需测试用例数的上限是________________。
在各种不同的软件需求中,()描述了产品必须要完成的任务,可以在用例模型中予以说明。
下面为C语言程序,边界值问题可以定位在(45)。 int data(3), int i, for(i=1, i<=3, i++)data(i)=100
CPU执行指令时,先要根据程序计数器将指令从内存读取出并送入______,然后译码并执行。
随机试题
科技战略的作用有()
患者男,70岁,农民。近5年来逐渐出现记忆力减退,开始时只是下地干活的时候把东西丢在地里,后来觉得见到人总是想不起名字,记不得自己早饭吃的东西,后来有一次上街找不到回家的路,接着又怀疑老伴藏了他的东西,有人到他们家来偷东西。头颅MRI示皮质性脑萎缩和脑室扩
痛经寒湿凝滞证的治法是
土地所有权、使用权的变更自()生效。
心理学专业的学生进行某项实验,将一半被试人员作为实验组,该组人员食用了大量的芝麻油,而作为对照组的另一半被试人员没有吃这种芝麻油。结果实验组的认知能力比对照组差得多。这一结果是由于这种芝麻油的一种主要成分——维生素E造成的。以下哪项如果为真,则最有助于证
HowmanydollarsdidMissJoanhandtoMr.Greenly?WhatcanwelearnaboutMissJoanfromthestory?
“第二次呼吸”出现标志着( )
下列程序段的执行结果为a=6Fork=1To0 a=a+kNextPrintk;a
A、Themandoesnotseemtohaveagoodsenseoftime.B、Themanisapoorerdriverthanthewoman.C、Themanhadtofixthecar
ThecauseofthedeclineofNorthAfricaispopularlyattributedtoclimaticchanges,thetheorybeingthattheareabecamehott
最新回复
(
0
)