首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(2012年下半年下午试题五)阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种
(2012年下半年下午试题五)阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种
admin
2018-07-27
52
问题
(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://www.kaotiyun.com/show/ozxZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
请指出现有虚拟局域网络的4种划分方式。以下为Cisco以太网交换机Catalyst2924(ws-c2924xlA,拥有24个10/100Mbit/s自适应端口)的VLAN划分命令,请解释(1)~(3)处的标有下划线部分配置命令的含义。(“//”后为
目前,通过移动电话接入互联网所采用的主要技术是什么?进行一次查询的数据信息见表1-1,网络的基本通信服务费用见表1-2,总费用=网络租用费+通信费。根据表中给出的数据,试计算销售员每月至少应进行多少次查询,才能使得使用移动电话的总费用比使用PDA的总费
阅读以下说明,回答问题1~4。【说明】A公司用一台Web服务器和一台应用服务器来管理销售信息。销售人员在办公室时通过PC机来访问应用服务器,若在公司以外,则通过具有数据显示功能的移动电话或PDA(PersonalDigitalAssi
某单位拟建立一个Intranet,建立自己的Web服务器、DNS服务器,E-mail服务器和内部业务服务器,有一批客户机联网,要求这些机器有的可以到Internet上,只允许访问自己的Web服务器。请你做出规划,解决如下问题。
由于面向3G移动电话的电子商务网站看不到用户进行销售服务,因此,对用户身份进行认证是必要。通常,在Internet中进行电子签名的认证过程如下:①文件的发送者将要发送的文件生成(1);②用发送者的(2)对摘要加密后,将其添加到文件中;
Samba的工作原理是:让(1)和NetBIOS这两种协议运行于TCP/IP通信协议之上,且通过Windows的(2)协议让用户的Linux计算机可以在Windows的网络邻居上被看到。Samba服务器配置工具是用来管理Samba共享、用户及基本服
认真阅读下列有关Linux操作系统的Samba配置技术的说明,根据要求回答问题1至问题6。【说明】SMB(ServerMessageBlock,服务消息块)协议主要用于实现Windows和Linux操作系统中计算机之间共享打印机、共享串行接
认真阅读以下实现VLAN间路由的配置技术说明,根据要求回答问题1至问题6。【说明】当交换机上的VLAN数量很多时,通常会采用路由器快速以太网子接,及IEEE802.1Q封装对VLAN间的数据进行路由。在如图3-12所示的拓扑图中,在交换机
随机试题
G公司是一家生产和销售软饮料的企业。该公司产销的甲饮料持续盈利,目前供不应求,公司正在研究是否扩充其生产能力。有关资料如下:(1)该种饮料批发价格为每瓶5元,变动成本为每瓶4.1元。本年销售400万瓶,已经达到现有设备的最大生产能力。(2)市场
如果母亲能一贯具有敏感、接纳、合作、易接近等特征,其婴儿容易形成的依恋类型是()
下列属于环境保护法基本原则的是:()
甲公司为上市公司,2×15年至2×17年发生的相关交易如下:(1)2×15年4月1日,购入A公司当日发行的一笔债券,面值为2000万元,期限为5年,票面年利率为6%,每年3月31日付息,到期归还最后一期本息。甲公司支付购买价款1800万元,另支付交易费用
失眠症:入睡困难或睡眠保持困难,且醒后疲乏,精神不振,每周至少出现三次,持续一个月以上,下列描述的情形最符合失眠症的是()。
给定资料1.教师这一职业出现在上古时代,到春秋战国时期,教育与政治有所分离,教师从官吏变成了较单纯、独立的社会职业,同时,人们对师德有了更职业化的重视。《礼记.文王世子》中强调:“师也者,教之以事而喻诸德者也。”教师的职责,除了传授知识,更要传“
某公司A商品利润为定价的30%,前年销量为10万个:B商品利润为定价的40%,前年销量为4万个。去年公司将A、B商品捆绑销售,售价为前年两种商品定价之和的90%,共卖出8万套,总利润比前年增加了20%。如两种商品去年的成本与前年相同,则前年A商品的定价为B
(I)由已知条件得P{-l<X<2}=1,所以P{0<Y<4}=1,当y<0时,Fy(y)=P{Y≤y}=0;[*]
A、 B、 C、 D、 D操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合——它们管理和控制计算机系统中的硬件及软件资源。合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强、
OntheTrialoftheHoneyBadgerOnarecentfieldtriptotheKalahariDesert,ateamofresearcherslearnalotmoreabout
最新回复
(
0
)