首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种数据库以及系统中的数据库表Department
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种数据库以及系统中的数据库表Department
admin
2014-11-13
37
问题
阅读下列说明和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://jikaoti.com/ti/LRi7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
目前,通过移动电话接人互联网采用的主要技术是什么?公司网络中的设备或系统(包括存储商业机密的数据库服务器、邮件服务器、存储资源代码的PC机、应用网关、存储私人信息的PC机、电子商务系统)哪些应放在DMZ中,哪些应放在内网中?给予简要说明。
目前,通过移动电话接人互联网采用的主要技术是什么?进行一次查询的数据信息如表9-1所示,网络的基本通信服务费用如表9-2所示,总费用=网络租用费+通信费。根据表中给出的数据,试计算销售员每月至少应进行多少次查询,才能使得使用移动电话的总费用比使用PDA
阅读以下说明,回答问题1至问题4,将解答填入答题纸的对应栏内。[说明]A公司用1台Web服务器和1台应用服务器来管理销售信息。销售人员在办公室时通过PC机来访问应用服务器,若在公司以外,则通过具有数据显示功能的移动电话或PDA(Perso
在由L2TP构建的VPN中,主要由①和②两种类型的服务器构成。1.将图5-1中①和②处空缺名称填写在答题纸的相应位置。2.简要说明两种服务器的主要作用。某路由器(在图5-1中没有标出)的部分配置信息如下所示,请解释其中标有下划线部分的含
造成故障1的原因是什么?如何解决?1.将故障2中(1)和(2)两处合适的答案填入答题纸相应的解答栏内。2.故障2如何解决?
阅读以下说明,回答问题1至问题3。[说明]某公司规模扩大,既要考虑保证目前土建装修的效果不被破坏,又要满足网络扩容和企业工作实际需求,同时还要保证投资不要过大。经过深入分析和研究对比,决定采用无线局域网组网来解决网络扩容的问题,网络拓扑如图1-1
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,将(1)~(4)处空缺的内容填写在相应位置。SW1>enable
阅读下面的说明,回答问题1至问题5。[说明]利用VLAN技术可以把物理上连接的网络从逻辑上划分为多个虚拟子网,可以对各个子网实施不同的管理策略。下图表示两个交换机相连,把6台计算机配置成两个VLAN。
IPSec是IETF以RFC形式公布的一组安全协议集,它包含了AH与ESP两个安全机制,其中(1)不支持保密服务。如果按上图中所示网络结构配置IPSecVPN,安全机制选择的是ESP,那么IPSec工作在隧道模式。一般情况下,在图中所标注的四个网络接
随机试题
动脉粥样硬化导致器官病变最常见的类型为
护士为甲状腺全切术后患者讲解服用甲状腺制剂的注意事项,其中正确的是
大肠杆菌时造成鸡心脏呈现“绒毛心”是由于()引起的
砖砌体施工中,砖和砂浆的黏结力降低,使砌体抗压强度降低,但砖浇水过湿,又会使砌体的抗剪强度降低。因此,普通砖及空心砖的含水率应控制在()范围内。
()是幼儿园教育工作的重要组成部分,是了解教育的适宜性、有效性,调整和改进工作,促进每一个幼儿发展,提高教育质量的必要手段。
关于流媒体的描述中,正确的是()。
简述张之洞《劝学篇》的主要内容。
阅读以下说明,回答问题1至问题5。[说明]某公司采用WindowsServer2003操作系统构建了一个企业网站,要求用户输入https://www.test.com。访问该网站。该服务器同时又配置了FTP服务,域名为ftp.test.
“计算机集成制造系统”英文简写是()。
A、感到气愤B、感到理解C、不太理解D、坚决反对C第一段的最后许女士表示“这让许女士很是不解”,所以选择C。
最新回复
(
0
)