首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某公司的组织结构图如图5—1所示,现采用组合(Composition)设计模式来构造该公司的组织结构,得到如图5—2所示的类图。 其中Company为抽象类
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某公司的组织结构图如图5—1所示,现采用组合(Composition)设计模式来构造该公司的组织结构,得到如图5—2所示的类图。 其中Company为抽象类
admin
2011-04-06
72
问题
阅读下列说明和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://www.kaotiyun.com/show/6lDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
在指令系统的各种寻址方式中,获取操作数最快的方式是________________。
针对下列程序段,对于(A,B)的取值,以下(57)测试用例组合能够满足条件覆盖的要求。IF((A-10)=20AND(B+20)>10)THENC=0IP((A-30)<10AND(B-30)<0)THENB=30①A=5
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则________________是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为________________。对于10个结点的小顶堆,其
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则________________是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为________________。对于10个结点的小顶堆,其
在开发一个字处理软件时,首先快速发布了一个提供基本文件管理、编辑和文档生成功能的版本,接着发布提供更完善的编辑和文档生成功能的版本,最后发布提供拼写和语法检查功能的版本,这里采用了()过程模型。
对于以下编号为①、②、③的正规式,正确的说法是(35)。①(aa*|ab)*b②(a|b)*b③((a|b)*|aa)*b
程序员甲与同事乙在乙家探讨甲近期编写的程序,甲表示对该程序极不满意,说要弃之重写,并将程序手稿扔到乙家垃圾筒。后来乙将甲这一程序稍加修改,并署乙名发表。以下说法正确的是(11)。
某应用系统采用防火墙技术来实现安全防护,在进行安全防护测试时,设计的测试点不包括______。
假设系统采用PV操作实现进程同步与互斥。若n个进程共享两台打印机,那么信号量S的取值范围为()。
在采用面向对象技术构建软件系统时,很多敏捷方法都建议的一种重要的设计活动是(15),它是一种重新组织的技术,可以简化构件的设计而无须改变其功能或行为。
随机试题
高强混凝土胶凝材料总量不宜大于()。
吊顶以胶合板为罩面板时,下列安装哪条是不正确的?[2001年第51题]
进度控制的关键步骤是()。
下列各项中属于流动资产的有()。
旅游者的行李在来华途中遗失,导游人员应该()。
共鸣
关于学习的含义,错误的表述是()。(统考2017研)
A、 B、 C、 D、 E、 C
下列关于不同法学流派的表述,正确的是()。
微分方程y’’一3y’+2y=2ex满足的特解为______。
最新回复
(
0
)