首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和c++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如6—7所示: 【c++代码】 #include #include #include
阅读下列说明和c++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如6—7所示: 【c++代码】 #include #include #include
admin
2010-05-08
48
问题
阅读下列说明和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://kaotiyun.com/show/kSDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
______不是正确的软件测试目的。A.尽最大的可能找出最多的错误B.设计一个好的测试用例对用户需求的覆盖度达到100%C.对软件质量进行度量和评估,以提高软件的质量D.发现开发所采用的软件过程的缺陷,进行软件过程改进
《GB/T18905软件工程产品评价》中确定的通用评价过程包括四个方面,其中有关“规定评价”部分包含的内容有(67)。
在编码阶段对系统执行的测试类型主要包括单元测试和集成测试,(40)属于单元测试的内容。
银行系统数据流图中,某个加工根据客户的多个不同属性的值来执行不同的操作,则对该加工最适宜采用()描述。
传统编译器进行词法分析、语法分析、代码生成等步骤的处理时,前一阶段处理的输出是后一阶段处理的输入,则采用的软件体系结构风格是①。该体系结构的优点不包括②。①处应填入?
对于逻辑表达式(((a>0)&&(b>0))‖c<5),需要______个测试用例才能完成条件组合覆盖。
软件测试信息流的输入包括______。①软件配置(包括软件开发文档、目标执行程序、数据结构)②开发工具(开发环境、数据库、中间件等)③测试配置(包括测试计划、测试用例、测试驱动程序等)④测试工具(为提高软件测试效率,使用测试
测试记录包括、(64)。①测试计划或包含测试用例的测试规格说明。②测试期间出现问题的评估与分析。③与测试用例相关的所有结果,包括在测试期间出现的所有失败。④测试中涉及的人员身份。
序言性注释是指在每个程序或模块开头的一段说明,起辅助理解程序的作用,一般包括:程序的表示、名称和版本号;程序功能描述;接口与界面描述;输入输出数据说明:开发历史;与运行环境有关的信息等。下列叙述中不属于序言性注释的是(23)。
在进行可用性测试时关注的问题应包括()。①安装过程是否困难②错误提示是否明确③GUI接口是否标准④登录是否方便⑤帮助文本是否上下文敏感
随机试题
梅花扳手适用于旋转空间宽阔的场合。
气血虚衰,脉气不续时的脉象是
关于湿度加速试验中临界相对湿度(CRH)的叙述,正确的是
肺的气机运动有升、降、出、人四种形式。()
为了有效规避担保机构给银行贷款带来的风险,银行应采取的防控措施包括严格专业担保机构的准入和()。
根据现行规定,借款企业信用评级在(),银行可以自主免除表外欠息。
践行“合作”规范的要求是()。
下列选项中,可以作为继承人的是()。
简论明朝刑事立法的发展。
Wherecanpeopletakeadulteducationcourses?
最新回复
(
0
)