首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某公司的组织结构图如图16.10所示,现采用组合(Composition)设计模式来构造该公司的组织结构, 得到如图16一11所示的类图。 其eOC
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某公司的组织结构图如图16.10所示,现采用组合(Composition)设计模式来构造该公司的组织结构, 得到如图16一11所示的类图。 其eOC
admin
2014-11-13
57
问题
阅读下列说明和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://kaotiyun.com/show/t4DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
目前,通过移动电话接人互联网采用的主要技术是什么?公司网络中的设备或系统(包括存储商业机密的数据库服务器、邮件服务器、存储资源代码的PC机、应用网关、存储私人信息的PC机、电子商务系统)哪些应放在DMZ中,哪些应放在内网中?给予简要说明。
在由L2TP构建的VPN中,主要由①和②两种类型的服务器构成。1.将图5-1中①和②处空缺名称填写在答题纸的相应位置。2.简要说明两种服务器的主要作用。某路由器(在图5-1中没有标出)的部分配置信息如下所示,请解释其中标有下划线部分的含
阅读以下说明,回答问题1至问题6。说明ADSL是接入Internet的一种宽带技术。图2-1为一台带网卡的PC机采用ADSL接入Internet的网络结构图。
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?若网络用户的物理位置需要经常移动,应采用什么方式划分VLAN?
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?在交换机中配置VLAN时,VLANl是否需要通过命令创建?为什么?
阅读以下说明,回答问题1~4。[说明]FTTx+LAN是实现宽带接入的常用方法,基本结构如下图所示。
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,解释(7)处的命令。Switch#configtSwitch(
IPSec是IETF以RFC形式公布的一组安全协议集,它包含了AH与ESP两个安全机制,其中(1)不支持保密服务。如果按上图中所示网络结构配置IPSecVPN,安全机制选择的是ESP,那么IPSec工作在隧道模式。一般情况下,在图中所标注的四个网络接
阅读以下说明,回答问题1至问题8。[说明]Linux系统开机引导时首先启动内核,由内核检查和初始化硬件设备,载入设备的驱动程序模块,安装root文件系统,然后内核将启动一个名为init的进程。在init运行完成并启动其他必要的后续进程后,
随机试题
发行市场
女性,25岁,发热、干咳、左胸痛10余日,逐渐出现呼吸困难。X线胸片见左中下肺野均匀致密阴影,上缘呈外高、内低反抛物线形,为确定诊断,下列哪项检查最合适
荧光免疫组化技术可应用于
患者男性,56岁,患稳定型心绞痛,经一个时期的治疗,效果欠佳,拟采用联合用药。下述组合中,较为合理的是
A.企业主要负责人B.企业质量负责人C.企业质量管理机构负责人D.处方审核人员E.质量管理人员根据《药品经营质量管理规范》应是执业药师或有药师以上(含药师和中药师)的专业技术职称
教师指导学生通过阅读课外书籍和教材获得知识的方法是()。
15至16世纪,欧洲文艺复兴对欧洲以及全世界的艺术发展产生了深远的影响,其中“美术三杰”最为后人推崇,其中不包括:
新民主主义革命总路线的核心是()。
ARegularEuropeanbusinesstravellersviewtravellingoncommercialairlinesasinefficientandinconvenient.Mostlyitisnot
ForeignstudentsarevaluabletotheUnitedStates.Mosthavetopaythefullcostsfortheireducation.Thathelpsuniversities
最新回复
(
0
)