首页
登录
从业资格
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计
最全题库
2022-08-02
77
问题
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种数据库以及系统中的数据库表Department为例,其类图如图5-1所示。
图5-1类图【C++代码】#include<iostream>using namespace std;class Department{/*代码省略*/};class IDepartment{public:(1)=0;(2)=0;};class SqlserverDepartment:(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 SqlServerFactory:public IFactory{public:IDepartment*CreateDepartment( ){return new SqlserverDepartment( );}∥其余代码省略};class AccessFactory:public IFactory{public:IDepartment*CreateDepartment( ){return new AccessDepartment( );}∥其余代码省略};
选项
答案
解析
(1)virtual void Insert(Departmet*department)
(2)virlual Department GetDepartment(int id)
(3)public IDepartment
(4)public IDepartmcnt
(5)class Ifactory
(6)virtual IDcpartment*CreateDepartment()
本题考查基本面向对象设计模式的运用能力。
抽象工厂设计模式主要是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。从题目给出的类图可知SqlserverDepartment和AccessDepartment继承于Idepartment。而从第(1)和第(2)空处的程序语句可以知道,这里是定义纯虚函数,而类Idepartment一个抽象类,而在这里需要定义一个什么样的纯虚函数,就需要根据SqlserverDepartment和AccessDepartment类的内容来了解。在这两个类里面都有Insert和GetDepartment这两个函数,因此在Idepartment类中定义的纯虚函数就是这两个函数,因此第(1)空应该填virtual void Insert(Departmet*department),而第(2)空应该填virlual Department GetDepartment(int id)。
第(3)空和第(4)空是一样的,因为类SqlserverDepartment和AccessDepartment都是继承抽象类Idepartment,而一般情况下的继承方式都是public,所以这两空的答案都是public Idepartment。
从第(5)空出现的位置,不难知道这里是定义一个类,结合前后程序,可以知道这里定义的类是Ifactory,这是一个抽象类,因此该空的答案为class Ifactory。
第(6)空是定义抽象类Ifactory的纯虚函数,从后面的程序可以看出,需要定义的纯虚函数是CreateDepartment,因此第(6)空的答案是virtual IDcpartment*CreateDepartment()。
转载请注明原文地址:https://tihaiku.com/congyezige/2410308.html
本试题收录于:
中级 软件设计师题库软件水平考试初中高级分类
中级 软件设计师
软件水平考试初中高级
相关试题推荐
IT组织结构的设计主要受到四个方面的影响和限制,包括客户位置、IT员工工作地点、
系统管理预算可以帮助IT部门在提供服务的同时加强成本/收益分析,以合理地利用IT
某公司员工赵忻是一名软件设计师,按公司规定编写软件文档需要上交公司存档。这些软件
王某是某公司的软件设计师,完成某项软件开发后按公司规定进行软件归档。以下有关该软
李某未经许可擅自复制并销售甲公司开发的财务管理软件光盘,已构成侵权。乙公司在不知
应用软件开发项目执行过程中允许对需求进行适当修改,并对这种变更进行严格控制,充分
()清楚地描述了测试各阶段和开发各阶段的对应关系。A.瀑布模型 B.迭代模型
信息系统项目生命周期模型中的()适用于需求明确或团队具备行业经验,并开发过类似
结构化开发中,数据流图是__()__阶段产生的成果。A.总体设计 B.程序编
从生命周期的观点来看,无论硬件或软件,大致可分为规划和设计、开发(外购)和测试、
随机试题
Though(lack)______money,hisparentsmanagedtosendhimtouniversity.lacking分
WhichofthefollowingstatementsisNOTtrueaboutthePrimeMinisterinBritai
Whatistheletterfor?To______.[br]Whatkindofchancewilltheapplic
Appleshavebeenasnotonlyadeliciousfruit,butalsoasaneffectiveway
马歇尔模数与()有关。A.稳定度 B.流值 C.动稳定度 D.抗车辙能力
下列关于城市下垫面不透水率与平均地表温度关系的表述,正确的是( )。A.负向关
在双侧限有偏移情况下,过程能力指数Cpk为()。
(2021年真题)因处方组成含蟾酥、雄黄,不宜过量或持久服用的成药是A.藿胆丸
关于勘察人指派的项目负责人的说法,不正确的是()。A.勘察人发出的函件应盖有勘察
(2014年真题)某地下金属矿山企业建立了监测监控系统、井下人员定位系统、紧急避
最新回复
(
0
)