首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(2012年下半年下午试题五)阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种
(2012年下半年下午试题五)阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种
admin
2018-07-27
29
问题
(2012年下半年下午试题五)阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种数据库以及系统中的数据库表Department为例,其类图如图10.23所示。
【C++代码】
#include<iostream>
using namespace std;
class Department{/*代码省略*/};
class IDepartment{
public:
___(1)=0;
___(3)=0;
};
class Sq1serverDepartment: ___(3){
public:
void Insert(Department*department){
cout<<’’Insert a record into Department in SQL Server!\n’’;
//其余代码省略
}
Department GetDepartment(int id){
/*代码省略*/
}
};
class AccessDepartment:___(4){
public:
void Insert(Department*department){
cout<<’’Insert a record into Department in ACCESS!\n’’;
//其余代码省略
}
Department GetDepartment(int id){
/*代码省略*/
}
};
___(5){
public:
___(6)=0;
};
class Sq1SerVerFactory:public IFactory{
public:
IDepartment* CreateDepartment(){ return new SqlserVerDepartment(); }
//其余代码省略
};
class AccessFactory:public IFactory{
public:
IDepartment* CreateDepartment(){ return new AccessDepartment(); }
//其余代码省略
};
选项
答案
(1)virtual void Insert(Department*department) (2)virtual Department GetDepartment(int id) (3)public IDepartment (4)public IDepartment (5)class IFactory (6)virtual IDepartment*CreateDepartment()
解析
本题考查抽象工厂设计模式的概念及其应用。
抽象工厂设计模式的意图是:提供一个创建一系列相关或相互依赖的对象,而无须指出它们具体的类。在如下情况下应当考虑使用抽象工厂模式。
当一个系统要独立于它的产品的创建、组合和表示时。
当一个系统要由多个产品系列中的一个来配置时。
当需要强调一系列相关的产品对象的设计以便进行联合使用时。
当想提供一组对象而不显示它们的实现过程,只显示它们的接口时。
抽象工厂设计模式的类图如图10.24所示,其中:
Abstractory为抽象工厂,声明抽象产品的方法;
ConcreteFactory为具体工厂,执行生成抽象产品的方法,生成一个具体的产品;
ProductA和ProductB为抽象产品,为一种产品声明接口;
ProductA1/A2/B1/B2为具体产品,定义具体工厂生成的具体产品的对象,实现产
品接口。
图10.23中的IFactory对应图10.24中的Abstractory,Sq1serverFactory和AccessFactory对应图10.24中的ConcreteFactory,SqlserverDepartment和AccessDepartment对应图10.24中的ProductA1/A2/B1/B2,而IDepartment对应图10.24中的ProductA和ProductB。
由于类IDepartment的作用是为其子类提供接口,所以将其定义为抽象类。在C++中,抽象类中至少包含一个纯虚函数的类,而纯虚函数是没有函数体的函数,其作用是为其子类提供统一的接151。若要使用纯虚函数,必须在子类中进行重置。空(1)处和空(2)处考查的是如何定义抽象类IDepartment。从IDepartment的子类的方法中可以确定空(1)处应填入virtualvoid InseIrt(Department*department),空(2)处应填入virtual Department GetDepartment(int id)。
空(3)处和空(4)处考查继承的概念和语法。由于Sq1serverDepartment和AccessDepartment均继承IDepartment,因此,空(3)处和空(4)处都应填入public IDepartment。
由于所给程序中缺少有关抽象类IFactory的定义,因此空(5)处应为定义类IFactory,应填入class IFactory。抽象类IFactory中至少需包含一个纯虚函数的类,由其子类Sq1serverFactory和AccessFactory中方法的定义可知,空(6)处应填入virtual IDepartment*CreateDepartment()。
转载请注明原文地址:https://jikaoti.com/ti/Tea7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明,回答问题1、问题2、问题3、问题4和问题5,将解答填入对应栏内。[说明]无源光网络(PON),是指在OLT(光线路终端)和ONU(光网络单元)之间的光分配网络(ODN)没有任何有源电子设备。PON(无源光网络)技术是一种一点对
阅读以下说明,回答问题1~4。【说明】A公司用一台Web服务器和一台应用服务器来管理销售信息。销售人员在办公室时通过PC机来访问应用服务器,若在公司以外,则通过具有数据显示功能的移动电话或PDA(PersonalDigitalAssi
在由L2TP构建的VPN中,主要由(1)和(2)两种类型的服务器构成。1.将图2-7中(1)和(2)处空缺名称填写在相应位置。2.简要说明两种服务器的主要作用。某路由器(在图2-7中没有标出)的部分配置信息如下所示,请解释其中注明部分的
如何根据网络流量选择联网设备,给出所选设备的作用。在我国,目前可供选择大的用户选择的接入方式有哪些,各自的接入速率为多少?
阅读图1所示的某企业的网络结构图,分析网络结构,回答【问题1】~【问题3】,将解答填在横线上。
认真阅读下列有关移动用户身份认证技术的说明,根据要求回答问题1至问题4。【说明】随着无线局域网技术、3G移动通信技术的不断发展,网络资源得到了更广泛的利用。由于移动环境下的通信链路比较容易受到恶意攻击或窃听,因此在移动节点与本地代理1之间交换的登
阅读以下基于Linux操作系统部署DHCP服务的技术说明,根据要求回答问题1至问题3。【说明】某地市图书馆内部局域网划分为办公区、电子阅览室、无线阅览室等3个VLAN,并通过一台带防火墙模块的路由器与Internet网互连。为了便于整个局域网IP
在安装RedhatLinux9.0操作系统的过程中,如果没有选择安装Web服务器,Apache服务器则需要手动安装。现从http://httpd.apache.org网站上免费下载了一个apache-2.2.3RPM格式的软件包,请将以下(1)空缺处
为了便于用户下载相关资料,特安装一台FTP服务器,其服务器端软件是Serv-U,假如要增加一个名为CIU10009的用户,对应目录为D盘,且要求加密,在图6-4中怎么设置?假如用户人数达到1000,为了保证100个用户同时正常下载,请问在图6-4中怎么
随机试题
介导人类I型变态反应的免疫球蛋白是
有关肩关节的描述,错误的是
案例 C煤矿为井工矿,为省属国有煤矿,设计生产能力为450×104t/a,服务年限为65年,其基建施工年限为5年。该煤矿通过了安全设施设计审查,并在2015年完成一期工程建设,于2018年投产,在建设过程中,该矿严格按照“三同时”有关规定进行了施工。矿井
信息分类表的内容包括()。
某一建筑工地,在施工过程中发生了质量事故后,事故单位因抢救人员需要移动现场物件时,下面做法正确的是()。
乐发超市某业务员在打印促销价签时,不小心将某促销产品的价格19.9打印成9.9,直到晚上查账时才发现,给超市当日的盈利带来一定影响,这种风险是()。
用1,2,3,4这四个数组成两个两位数,这两个两位数相乘乘积最小的是()。
企业岗位薪酬体系以()为基础。
(2013年下半年上午试题32)SEI能力成熟度模型(SEICMM)把软件开发企业分为5个成熟度级别,其中_______重点关注产品和过程质量。
A、一个月后B、半小时后C、两个小时后D、三个小时后C根据最后一句话“两个小时过去了,他才走出那个书店”,可知选C。
最新回复
(
0
)