首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某公司的组织结构图如图5—1所示,现采用组合(Composition)设计模式来构造该公司的组织结构,得到如图5—2所示的类图。 其中Company为抽象类
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某公司的组织结构图如图5—1所示,现采用组合(Composition)设计模式来构造该公司的组织结构,得到如图5—2所示的类图。 其中Company为抽象类
admin
2011-04-06
46
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
下面关于防火墙功能的说法中,不正确的是(6)。
针对下列程序段,对于(A,B)的取值,以下(57)测试用例组合能够满足条件覆盖的要求。IF((A-10)=20AND(B+20)>10)THENC=0IP((A-30)<10AND(B-30)<0)THENB=30①A=5
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则________________是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为________________。对于10个结点的小顶堆,其
防火墙不具备__________功能。
一个软件开发过程描述了“谁做”、“做什么”、“怎么做”和“什么时候做”,RUP用(16)表述“谁做”。
ISO/IEC9126《软件工程产品质量》统一了多种质量模型。其中,下述关于软件使用质量的描述,不正确的是______。A.它测量用户在特定环境中能达到其目标的程度,不是测量软件自身的属性B.使用质量的属性分为4个特性:有效性、生产率、安全性和满意度
以下关于测试方法的叙述中,不正确的是_______。
在结构化分析模型中,______描述了所有在目标系统中使用的和生成的数据对象。
下图是①设计模式的类图,该设计模式的目的是②,图中,Abstraction和RefinedAbstraction之间是③关系,Abstraction和Implementor之间是④关系。④处应填入?
随机试题
坚决打脱贫攻坚战就是要坚持()
按照薪酬基本发生机制不同,可将薪酬分为【】
人生观的主要内容包括对人生目的、人生态度和人生价值等问题的根本看法。其中回答什么样的人生才有价值的是()
A肾小球滤过功能障碍B近曲小管功能障碍C髓襻功能障碍D远曲小管功能障碍E集合管功能障碍肾性糖尿是由于
成年草食动物长期应用四环素类广谱抗生素时,肠道菌群中对抗生素敏感的菌株会受到抑制,而不敏感菌株可大量繁殖,造成胃肠炎和全身感染,这种现象称为
轻型腹泻与重型腹泻最主要的鉴别点是
如图所示超静定刚架,用力法计算时,可选取的基本体系是( )。
司机:驾驶证
考生文件夹下存在一个数据库文件“samp2.accdb”,里面已经设计好表对象“tStud"、“tCourse”、“tScore”和“tTemp”。试按以下要求完成设计:创建一个查询,查找先修课程里含有“101”或者“102”信息的课程,并显示其“课程
单击“电子表格”按钮,然后按照题目要求完成下面的操作。注意:以下的文件必须保存在考生文件夹下。小李是东方公司会计,为节省时间,同时又确保记账的准确性,她使用Excel编制了员工工资表。请根据考生文件夹下“Excel素材.xlsx”中的内
最新回复
(
0
)