首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某公司的组织结构图如图5—1所示,现采用组合(Composition)设计模式来构造该公司的组织结构,得到如图5—2所示的类图。 其中Company为抽象类
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某公司的组织结构图如图5—1所示,现采用组合(Composition)设计模式来构造该公司的组织结构,得到如图5—2所示的类图。 其中Company为抽象类
admin
2011-04-06
42
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
在一个完整的功能测试过程中,______不属于应该编写的测试文档。A.测试需求文档B.测试用例文档C.测试标准D.问题报告单
程序运行过程中常使用参数在函数(过程)间传递信息,引用调用传递的是实参的()。
设数组a[1..n,1..m](n>1,m>1)中的元素以行为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤n,1≤j≤m)相对于数组空间首地址的偏移量为()。
测试用例是测试使用的文档化的细则,其规定如何对软件某项功能或功能组合进行测试。测试用例应包括下列(32)内容的详细信息。①测试目标和被测功能。②测试环境和其他条件。③测试数据和测试步骤。④测试记录和测试结果。
软件可移植性应从如下(46)方面进行测试。
以下关于软件测试分类定义的叙述,不正确的是(42)。
(41)不是易用性测试包括的内容。
在采用面向对象技术构建软件系统时,很多敏捷方法都建议的一种重要的设计活动是(15),它是一种重新组织的技术,可以简化构件的设计而无须改变其功能或行为。
下面为C语言程序,边界值问题可以定位在(45)。 int data(3), int i, for(i=1, i<=3, i++)data(i)=100
设数组a[0..n—1,0..m一1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i
随机试题
银盐法测定肉、蛋制品中无机砷的含量时,银盐是指()。
下列各项中,不属于传染病的专著是
可刺激B淋巴细胞增殖转化的刺激物是
68岁多产妇,绝经18年,近2年下腹坠胀并有块物脱出至阴道口外。查阴道前壁明显膨出,宫颈外口位于处女膜缘,有较大溃疡形成。本病例应诊断为
死刑复核权属于刑部的朝代是?
某企业拟进行贷款,委托土地评估机构对所涉及的一宗工业用地进行评估,为委托方抵押贷款提供客观、公正的价格依据。请根据以下给定条件分析并回答下列问题:若待估宗地为集体土地,进行抵押时应注意的问题。
下列各项中,应视同销售货物行为征收增值税的有()。
国家工作人员对依法提出申诉、控告、检举的教师进行打击报复构成犯罪的,依法追究()。
设二维随机向量(X,Y)服从D={(x,y)|0≤x≤1,0≤y≤2}上的均匀分布.求(1)P{3X≥Y};(2)Z=min{X,Y}的密度函数.
测试的目的是暴露错误,评价程序的可靠性;而【】的目的是发现错误的位置并改正错误。
最新回复
(
0
)