首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种数据库以及系统中的数据库表Department
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种数据库以及系统中的数据库表Department
admin
2014-11-13
32
问题
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种数据库以及系统中的数据库表Department为例,其类图如图16—3所示。
【C++代码】
#include
US ing namespace std;
class Department(/*代码省略*/);
Class IDepartment(
publ ic:
(1) =0;
(2) =0;
}
Class SqlserverDepartment: (3) {
public:
void Insert(Department*department)(
cout<<”Insert a record into Department in SQL Server!\n*;
//其余代码省略
}
Department GetDepar七men七(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 SqlSerVerFactory:publ ic IFactory{
public:
IDepartment* CreateDepartment()( return new Sql serVerDepartment(); }
//其余代码省略
};
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*Create Department()
解析
本题考查抽象工厂设计模式的概念及其应用。抽象工厂设计模式的意图是:提供一个创建一系列相关或相互依赖的对象,而无须指出它们具体的类。在如下情况下应当考虑使用抽象工厂模式:当一个系统要独立于它的产品的创建、组合和表示时;当一个系统要由多个产品系列中的一个来配置时;当需强调一系列相关的产品对象的设计以便进行联合使用时;想提供一组对象而不显示它们的实现过程,只显示它们的接口时。抽象工厂设计模式的类图如图16—4所示,其中:
Abstract Factory为抽象工厂,声明抽象产品的方法。Concrete Factory为具体工厂,执行生成抽象产品的方法,生成一个具体的产品。Abstract Product为抽象产品,为一种产品声明接口。Product为具体产品,定义具体工厂生成的具体产品的对象,实现产品接口。图16.3中的IFactory对应类图中的AbstractFactory,Sqlserverfactory和Accessfactory对应类图中的Concrete Factory,SqlserVer Depanment和AccessDepartment对应类图中I~Product,而IDepanment对应类图中的Abstract Product。由于类IDepartment的作用是为其子类提供接口,所以将其定义为抽象类。在C++中,抽象类中至少包含一个纯虚函数的类,而纯虚函数是没有函数体的函数,其作用是为其子类提供统一的接口。若要使用纯虚函数,必须存子类中进行重置。空(1)和空(2)考查的是如何定义抽象类IDepartment。从IDepartment的子类的方法中可以确定空(1)处应填Avirtual void Insert(Department*department),空(2)处应填Avirtual DepartmentGetDepartment(int id)。空(3)和空(4)考查继承的概念和语法。由于SqlserverDepartment和AccessDepanment均继承IDepartment,因此,空(3)和空(4)都应填),.public IDepartment。由于所给程序中缺少有关抽象类IFactory的定义,因此空(5)处应为定义类IFactory,应填Aclass IFactory。抽象类IFactoryq~少需包含一个纯虚函数的类,由其子类sqlserVerfactory和Accessfactory中方法的定义可知,(6)处应填入virtual IDepartment*CreateDepartmentO。
转载请注明原文地址:https://kaotiyun.com/show/V4DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?将Switcbl的端口6划入v2的配置命令如下,请给出空白处的配置内容:Switch1(config)#interfacefastEthemet0/6(进入端口6配置模式)S
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?若交换机Switch1和SwiWh2没有千兆端口,在上图10中能否实现VLANTrunk的功能?若能,如何实现?
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?使Switch1的千兆端口允许所有VLAN通过的配置命令如下,请给出空白处的配置内容:Switchl(config)#interfacegigabit0/1(进入千兆端口配置模式)
阅读以下说明,回答问题1~6。[说明]某公司已有一个100用户的有线局域网。由于业务的发展,现有的网络不能满足需求,需要增加40个用户的网络连接,并在公司客户接待室连接网络以满足合作伙伴实时咨询的需求。现结合公司的实际情况组建无线局域网,具体拓扑
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,将(1)~(4)处空缺的内容填写在相应位置。SW1>enable
请认真阅读下列有关计算机网络防火墙的说明信息,回答问题1~5。[说明]某单位的内部局域网通过防火墙与外部网络的连接方式及相关的网络参数如下图所示。
根据图3-1所给出的网络连接方式及相关的网络参数,区域(A)与区域(B)中计算机的网络参数配置(如图3-2所示)为:区域(A)计算机“IP地址”(范围):(1):区域(A)计算机“子网掩码”;(2);区域(A)计算机“默认网关”:(
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持根据说明中inittab文件的内容,系统引导成功后,工作在______状态。A.单用户字符模式
网络设计流程通常由以下五个阶段组成:A.确定网络物理结构B.确定网络逻辑结构C.对现有网络的体系结构进行分析D.安装和维护E.需求分析根据网络开发设计的过程,给出上述五个阶段的先后排序:(1)。将答
随机试题
A.曲池B.曲泽C.尺泽D.少海E.小海属于手太阴肺经的腧穴是()
男,3岁,因发热1周伴手足硬性水肿住院。查体:球结膜充血,皮疹,颈部淋巴结肿大。给予阿司匹林后体温正常,后续阿司匹林治疗方案是()
开放式基金是根据()划分的证券投资基金的种类。
《FIDIC施工合同条件》下,工程变更的范围包括()。
设置拦水带汇集路面表面水时,拦水带过水断面内的水面,在高速公路及一级公路上不得漫过()。
关于实行查账征收办法的个人独资企业计算缴纳个人所得税,允许税前扣除的说法中,正确的有()。
地方各级人民政府都设有工作部门。()
下列不是我国现代企业制度基本特征的是()。
殴打或者谋杀祖父母、父母、伯叔父母等尊长的犯罪行为,构成唐律“十恶”中的()。
SpeakerA:Ineedtomakeahotelreservationformyfather.SpeakerB:______
最新回复
(
0
)