首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和c++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如6—7所示: 【c++代码】 #include #include #include
阅读下列说明和c++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如6—7所示: 【c++代码】 #include #include #include
admin
2010-05-08
29
问题
阅读下列说明和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://jikaoti.com/ti/dCi7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
CMM模型将软件过程的成熟度分为5个等级。在(21)使用定量分析来不断地改进和管理软件过程。
______不属于易用性测试范畴。A.软件产品使用户能理解软件是否合适以及如何能将软件用于特定的任务和使用条件的能力B.软件产品使用户能操作和控制它的能力C.对软件中的缺陷或失效原因进行诊断,或识别待修改部分的能力D.软件产品吸引用户的能力
(67)不属于用户认证机制。
国标16260中,在描述外部(内部)效率度量时,给出了若干针对计算机系统时间消耗的定义,以下描述项中正确的有(31)。①响应时间是指从按下传送键到得到结果为止所需要的时间。②处理时间是指从接受一个消息到送出它的结果之间计算机的历时时间。③周转时间是指
对现有软件系统中一些数据处理的算法进行改进,以提高效率,从而更快地响应用户的服务要求。这种行为属于____________维护。
测试过程中,正确的测试顺序应该是()。①单元测试②集成测试③系统测试
编译和解释是实现高级程序设计语言的两种方式,其区别主要在于______。
某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证:①经过自己测试的软件今后不会再出现问题;②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结;③承诺不需要其他人员,自己就可以独立进行测
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
黑盒测试法是根据产品的______来设计测试用例的。A.功能B.输入数据C.应用范围D.内部逻辑
随机试题
简述历史唯心主义的根本缺陷。
通过组织结构的调整,消减中间管理层数量的工作过程是()
民主革命时期,中国共产党党员的绝大多数来自农民,因而它不是工人阶级的先锋队。
男性,18岁,因转移性右下腹痛12小时人院,诊断为"急性阑尾炎",当晚行阑尾切除术,病理为坏疽性阑尾炎。自术后次晨起,患者表现为腹痛,烦躁不安,未解小便,体查,面色较苍白,皮肤湿冷,心率110次/分,脉搏较弱,血压10.67/8kPa(80/60mmHg)
公平正义是社会主义法治的价值追求。关于我国宪法与公平正义的关系,下列哪一选项是不正确的?(2013年卷一20题)
根据《水电建设工程质量管理暂行办法》(电水农[1997]220号),建设项目的施工单位行政正职对本单位的质量工作负()。
在利率市场化过程中,商业银行可以采取的对策包括()。
电信业务经营者在营业场所及业务宣传资料中,公布其服务种类和范围、资费标准、服务时限,应在向社会公布(),报各省、自治区、直辖市电信管理机构备案。
一个人要与周围的人建立良好的人际关系,遵循的原则一般应该包括()。
下列谚语与农业生产经验不符的是()。
最新回复
(
0
)