首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某公司的组织结构图如图5—1所示,现采用组合(Composition)设计模式来构造该公司的组织结构,得到如图5—2所示的类图。 其中Company为抽象类
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某公司的组织结构图如图5—1所示,现采用组合(Composition)设计模式来构造该公司的组织结构,得到如图5—2所示的类图。 其中Company为抽象类
admin
2011-04-06
85
问题
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某公司的组织结构图如图5—1所示,现采用组合(Composition)设计模式来构造该公司的组织结构,得到如图5—2所示的类图。
其中Company为抽象类,定义了在组织结构图上添加(Add)和删除(Delete)分公司/办事处或者部门的方法接口。类ConcreteCompany表示具体的分公司或者办事处,分公司或办事处下可以设置不同的部门。类HRDepartment和FinanceDepartment分别表示人力资源部和财务部。
【C++代码】
#include
#include <1ist>
#include
using namespace std;
class Company{//抽象类
protected:
string name;
public:
Company(string name){(1)=name;)
(2) ;//增加子公司、办事处或部门
(3) ;//删除子公司、办事处或部门
};
class ConcreteCompany:public Company{
private:
list< (4) >children;//存储子公司、办事处或部f1
public:
ConcreteCompany(string name):Company(name){}
void Add(Company* c){(5).push back(c);}
void Delete(Company* c){(6).remove(c);}
};
class HRDepartment:public Company{
public:
HRDepartment(string name):Company(name){}//其它代码省略
};
class FinanceDepartment:public Company{
public:
FinanceDepartment(string name):Company(name){}//其它代码省略
};
void main(){
ConcreteCompany* root=new ComcreteCompany(“北京总公司”);
root->Add(new HRDepartment(“总公司人力资源部”));
root->Add(new FinanceDepartment(“总公司财务部”));
ConcreteCompany* comp=new ConcreteCompany(“上海分公司”);
comp->Add(new HRDepartment(“上海分公司人力资源部”));
comp->Add(new FinanceDepartment(“上海分公司财务部”));
(7);
ConcreteCompany* compl=new ConcreteCompany(“南京办事处”);
Compl->Add(new HRDepartment(“南京办事处人力资源部”));
Compl->Add(new FinanceDepartment(“南京办事处财务部”));
(8);//其它代码省略
}
选项
答案
(1)this->name (2)virtual void Add(Company*c) (3)virtual void Delete(Company*c) (4)Company* (5)(*children) (6)(*children) (7)root->Add(comp) (8)root->Add(compl)
解析
FinanceDepartment类和HRDepartment类以及ConcreteCompany类均继承类Company,实现了Company类的Add方法和Delete方法。同时,concretecompany类与Company类是组合关系,多个ConcreteCompany类组合成Company类。
转载请注明原文地址:https://kaotiyun.com/show/6lDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
软件开发中经常利用配置库实现变更控制,主要是控制软件配置项的状态变化,不受配置管理控制的是()。
假设关系R1和R2如下图所示:若进行R1R2运算,则结果集分别为(1)元关系,共有(2)个元组。(2)
(3)是指按内容访问的存储器。
软件测试信息流的输入包括______。①软件配置(包括软件开发文档、目标执行程序、数据结构)②开发工具(开发环境、数据库、中间件等)③测试配置(包括测试计划、测试用例、测试驱动程序等)④测试工具(为提高软件测试效率,使用测试
软件内部/外部质量模型中,以下(66)不是功能性包括的子特性。
程序质量评审通常是从开发者的角度进行评审,其内容不包括____________。
假设系统采用PV操作实现进程同步与互斥。若n个进程共享两台打印机,那么信号量S的取值范围为()。
若计算机中地址总线的宽度为24位,则最多允许直接访问主存储器(6)________________的物理空间(以字节为单位编址)。
下图是________________设计模式的类图,该设计模式的目的是________________,图中,Decorator和Component之间是________________关系,ConcreteDecorator和Decorator之间是_
()主要对与设计相关的软件体系结构的构造进行测试。
随机试题
下列词人属于清雅词派的有()
为了使企业的目标切实可行,所规定的目标必须符合以下要求:(1)__________。(2)__________。(3)__________。(4)__________。
依据《建设工程安全生产管理条例》的规定,施工单位挪用列入建设工程概算的安全生产作业环境及安全施工措施所需费用的,责令限期改正。处挪用费用()的罚款。
关于建设工程招标投标交易场所,下列说法正确的是()。
人民法院受理破产申请是破产程序开始的标志。根据企业破产法律制度的规定,下列关于破产申请受理的说法中,正确的是()。(2010年)
某单位有52人投票,从甲、乙、丙三人中选出一名先进工作者。在计票过程中的某时刻,甲得17票,乙得16票,丙得11票,如果规定,得票数比其他两人都多的候选人才能当选。那么甲要确保当选,最少要再得票()。
教师帮助学生形成或改变态度和品德,常用而有效的方法有()。
在Windows"资源管理器”中,单击需要选定的第一个文件,按下(16)键,再用鼠标左键单击需要选定的最后一个文件,能够一次选定连续的多个文件。
计算机是一种通用的信息处理工具,下面关于计算机信息处理能力的叙述:Ⅰ它不但能处理数据,而且还能处理图像和声音Ⅱ它不仅能进行计算,而且还能进行推理决策Ⅲ它具有几乎无限的存储能力Ⅳ它能方便而迅速与其它计算机交换信息上面叙述()是正确的
下列关于栈的叙述正确的是( )。
最新回复
(
0
)