首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种数据库以及系统中的数据库表Department
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种数据库以及系统中的数据库表Department
admin
2014-11-13
56
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明和交换机的配置信息,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明]某公司设3个部门,为了便于管理,每个部门组成1个VLAN,公司网络结构如图9-4所示。[交换机Switch1的部分配置信息]Switch
阅读以下说明,回答问题1和问题2。说明二层隧道协议L2TP(Layer2TunnelingProtocol)是一种基于点对点协议PPP的二层隧道协议。某网络结构如图5-1所示,采用L2TP来实现网络安全。
阅读以下说明,回答问题1~5。[说明]SSL(SecureSocketLayer)是目前解决传输层安全问题的一个主要协议,其设计的初衷是基于TCP协议之上提供可靠的端到端安全服务,SSL的实施对于上层的应用程序是透明的。应用SSL协议最广泛
目前无线局域网主要有哪两大标准体系?简述各自特点。图1-2中“EncryptionLevel”选项用以配置WEP。WEP采用的加密技术是什么?“值”备选项中应包含两种长度为多少的密钥?
根据图3-1所给出的网络连接方式及相关的网络参数,区域(A)与区域(B)中计算机的网络参数配置(如图3-2所示)为:区域(A)计算机“IP地址”(范围):(1):区域(A)计算机“子网掩码”;(2);区域(A)计算机“默认网关”:(
网络设计流程通常由以下五个阶段组成:A.确定网络物理结构B.确定网络逻辑结构C.对现有网络的体系结构进行分析D.安装和维护E.需求分析根据网络开发设计的过程,给出上述五个阶段的先后排序:(1)。将答
IIS安装的硬盘分区最好选用NTFS格式,是因为(1)和(2)。A.可以针对某个文件或文件夹给不同的用户分配不同的权限B.可以防止网页中的Applet程序访问硬盘中的文件C.可以使用系统自带的文件加密系统对文件或文件夹进行加密
在校园网设计过程中,划分了很多VLAN,采用了VTP来简化管理。1.VTP信息只能在(1)端口上传播。2.运行VTP的交换机可以工作在三种模式:(2)、(3)、(4)。3.共享相同VLAN数据库的交换机构成一个(5)。该校园网在
随机试题
肺癌的短毛刺形成的病理基础是
关于真性红细胞增多症的血象描述不正确的是
设备仓储合同保管人的义务为()。
根据中国证监会的规定,凡具有资产管理业务条件的证券公司,都可以开展集合资产管理业务。( )
A公司委托B银行为代理人向其客户提供服务,下列情形中A公司不需要对此服务过程承担民事责任的是()。
城市维护建设税按纳税人所在地的不同,设置了三档税率,这是()。
简述劳动分工的内容与原则。
A、 B、 C、 D、 D每个图中上面的元素是轮换规律,第1行中出现的3种,第2行和第3行中都应该有;下面元素的规律是每行只有1个为阴影。依此规律,问号处的图上面部分应是“+”,下面应是阴影图形。故正确答案是
研究证明,吸烟所产生的烟雾中的主要成分丙烯醛,是眼睛健康的慢性杀手,而橄榄油提取物羟基酪醇,能有效减缓这个慢性杀手给眼睛带来的伤害,由此得出结论,常吃橄榄油能够让吸烟者的眼睛远离伤害。以下如果为真,最能支持上述论述的是()。
AsinglenightoftakingthedrugEcstasycancauseseriousbraindamageandhastenthe【C1】______ofParkinson’sdisease,scienti
最新回复
(
0
)