首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某公司的组织结构图如图16.10所示,现采用组合(Composition)设计模式来构造该公司的组织结构, 得到如图16一11所示的类图。 其eOC
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某公司的组织结构图如图16.10所示,现采用组合(Composition)设计模式来构造该公司的组织结构, 得到如图16一11所示的类图。 其eOC
admin
2014-11-13
42
问题
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某公司的组织结构图如图16.10所示,现采用组合(Composition)设计模式来构造该公司的组织结构,
得到如图16一11所示的类图。
其eOCompany为抽象类,定义了在组织结构图上添加(Add)和删除(Delete)分公司/办事处或者部门
的方法接口。类ConcreteCompany表示具体的分公司或者办事处,分公司或办事处下可以设置不同的部门。类
HRDepartment和FinanceDepartment分别表示人力资源部和财务部。
【C++代码】
#include
#include<1ist>
#include
US ing namespace std;
class Company(//抽象类
protected:
String name;
public:
Company(string name)((1)=name;)
(2) ;//增加子公司、办事处或部门
(3) ;//删除子公司、办事处或部门
};
clasS ConcreteCompany:public Company(
private:
list< (4) >children;//存储子公司、办事处或部门
publ ic:
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:publ ic Company{
public:
FinanceDepartment(string name):Company(name)()//其他代码省略
};
VOid main(){
ConcreteCompany*root=new ComcreteCompany(“北京总公司”);
root一>Add(new HRDepartment(“总公司人力资源部”));
root一>Add(new F inanceDepartment(“总公司财务部”));
ConcreteCompany*comp=new ConcreteCompany(“上海分公司”);
comp一>Add(new HRDepartment(“上海分公司人力资源部”));
comp一>Add(new FinanceDepartment(“上海分公司财务部”));
(7) ;
ConcreteCompany*compl:new ConcreteCompany(“南京办事处”);
comp 1一>Add(new HRDepartment(“南京办事处人力资源部”));
comp 1一>Add(new FinanceDepartment(“南京办事处财务部”));
(8);//其他代码省略
选项
答案
(1)this一>name (2)virtual void Add(Company*c)=0 (3)virtual void Delete(Company*C)=0 (4)Company* (5)Children (6)Children (7)root一>Add(comp) (8)comp一>Add(compl)
解析
初始化函数中,将形参的值付给成员name,形参的变量名和成员变量的名称相同,需要使this指针指示被赋值的name是类的成员。增加(删除)子公司、办事处或部门用到的函数是Add和Delete。由于C0mpany是抽象类,并作为ConcreteCompany、HRDepartment、FinanceDepartment的基类,ConcreteCompany、HRD印anment继承了其父类的Add和Delete操作,因此在基类中要将Add和DeIete设置为纯虚函数。类ConcreteCompany表示具体的分公司或者办事处,其中的成员children用来存储子公司、办事处或部门,其数据类型应为Company*,当进行增加操作时,要把增加的对象存储在children的最后;当进行删除操作,则需要从children中将对应的对象移除。
(7)处的操作是把上海分公司这个对象加入到北京公司总部中。
(8)处的操作是将南京办事处这个对象加入到上海分公司中。
转载请注明原文地址:https://jikaoti.com/ti/zRi7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明和交换机的配置信息,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明]某公司设3个部门,为了便于管理,每个部门组成1个VLAN,公司网络结构如图9-4所示。[交换机Switch1的部分配置信息]Switch
阅读以下说明,回答问题1至问题3,将解答填入答题纸对应的解答栏内。说明网络解决方案如图4-1所示。该网络原先使用的是国外品牌的交换机,随着网络规模的扩大,增添了部分国产品牌的交换机,交换机1至交换机5均是国产10M/100M自适应交换机,交换机6
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?若交换机Switch1和SwiWh2没有千兆端口,在上图10中能否实现VLANTrunk的功能?若能,如何实现?
IPSec是IETF以RFC形式公布的一组安全协议集,它包含了AH与ESP两个安全机制,其中(1)不支持保密服务。如果按上图中所示网络结构配置IPSecVPN,安全机制选择的是ESP,那么IPSec工作在隧道模式。一般情况下,在图中所标注的四个网络接
根据图3-1所给出的网络连接方式及相关的网络参数,区域(A)与区域(B)中计算机的网络参数配置(如图3-2所示)为:区域(A)计算机“IP地址”(范围):(1):区域(A)计算机“子网掩码”;(2);区域(A)计算机“默认网关”:(
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持根据上述inittab文件的内容,系统在引导过程结束前,至少还要执行______进程。A.rc.sy
阅读以下说明,回答问题1至问题8。[说明]Linux系统开机引导时首先启动内核,由内核检查和初始化硬件设备,载入设备的驱动程序模块,安装root文件系统,然后内核将启动一个名为init的进程。在init运行完成并启动其他必要的后续进程后,
网络设计流程通常由以下五个阶段组成:A.确定网络物理结构B.确定网络逻辑结构C.对现有网络的体系结构进行分析D.安装和维护E.需求分析根据网络开发设计的过程,给出上述五个阶段的先后排序:(1)。为上
某交换机的配置命令如下,根据命令后面的注释,填写(1)~(3)处的空缺内容,完成配置命令。Switch(config)#(1)//将交换机命名为Sw1Swl(config)#interfacevlan1Swl(config
随机试题
“泰山四大名药”指的是()。
国际服务营销的限制因素主要有文化差异、知识产权保护和()
作为创新社会管理的方式之一。社区网格化管理是根据各社区实际居住户数、区域面积大小、管理难度等情况,将社区划分数个网格区域,把党建、维稳、综治、民政、劳动和社会保障、计划生育、信访等社会管理工作落实到网格,形成了“网中有格、格中定人、人负其责、专群结合、各方
在意大利拥有住所的英国公民查某未留遗嘱死亡,之后其独子向英国法院要求继承查某在英国留下的动产。按照英国冲突规范,动产继承适用被继承人的住所地法,而根据意大利冲突规范,动产继承应当适用被继承人本国法。如果英国法院最终决定适用英国法,则法院在审理过程中适用了国
生产性毒物以烟的形态存在于生产环境中,其为直径小于()μm的悬浮于空气中的固体微粒。
案例六:张先生是某运输公司的老板,2007年投保了某保险公司的运输工具保险,保险金额为200万元。根据案例六,回答下列问题:运输工具保险的主要险种不包括( )。
传统内部审计发展到现代内部审计,其主要标志之一是()。
该公司需要重新进行工作分析,它属于工作分析需求产生的下列情况()。由于公司财务部近2年组织结构变化较大,所以工作分析可先从财务部人手进行,为此,小陈需要搜集以下资料()。
商品价值形式的发展经历了四个阶段,以下属于四个阶段的是()。
设起点站上车人数X服从参数为λ(λ>0)的泊松分布,每位乘客中途下车的概率为p(0<p<1),且中途下车与否相互独立,以Y表示中途下车人数.(1)求在发车时有n个乘客的情况下,中途有m个乘客下车的概率;(2)求(X,Y)的概率分布.
最新回复
(
0
)