首页
登录
从业资格
试题六(共 15 分)阅读下列说明和 C++代码,填补代码中的空缺,将解答填入答
试题六(共 15 分)阅读下列说明和 C++代码,填补代码中的空缺,将解答填入答
admin
2022-08-02
39
问题
试题六(共 15 分)阅读下列说明和 C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】以下 C++代码实现一个简单客户关系管理系统(CrM)中通过工厂(Customerfactory)对象来创建客户(Customer)对象的功能。客户分为创建成功的客户(realCustomer)和空客户(NullCustomer)。空客户对象是当不满足特定条件时创建或获取的对象。类间关系如图6-1 所示。
【C++代码】#include<iostream>#include<string>using namespace std; class Customer{protected:string name;public:(1) boll isNil()=0;(2) string getName()=0;﹜; class realCustomer (3){public:realCustomer(string name){this->name=name;﹜bool isNil(){ return false;﹜string getName(){ return name;﹜﹜; class NullCustomer (4) {public:bool isNil(){ return true;﹜string getName(){ return 〝Not Available in Customer Database〞; ﹜﹜;class Customerfactory{public:string names[3]={〝rob〞, 〝Joe〞,〝Julie〞﹜;public:Customer*getCustomer(string name){for (int i=0;i<3;i++){if (names[i].(5) ){return new realCustomer(name);﹜﹜return (6);﹜﹜; class CrM{public:void getCustomer(){Customerfactory*(7);Customer*customer1=cf->getCustomer(〝rob〞);Customer*customer2=cf->getCustomer(〝Bob〞);Customer*customer3=cf->getCustomer(〝Julie〞);Customer*customer4=cf->getCustomer(〝Laura〞); cout<<〝Customers〞<<endl;cout<<Customer1->getName() <<endl; delete customer1;cout<<Customer2->getName() <<endl; delete customer2;cout<<Customer3->getName() <<endl; delete customer3;cout<<Customer4->getName() <<endl; delete customer4;delete cf;﹜﹜; int main(){CrM*crs=new CrM();crs->getCustomer();delete crs;return 0;﹜ /*程序输出为:CustomersrobNot Available in Customer DatabaseJulieNot Available in Customer Database*/
选项
答案
解析
1)virtual2)virtual3):public Customer4):public Customer5)compare(name)==06)new Null Customer()7)cf=New CustomerFactory();
【解析】
本题考察使用C++代码实现实际问题。在C++中,动态绑定是通过虚函数来实现的。此题中用到了虚函数,所以要在成员函数原型缺钱加一个关键字virtual。类RealCustomer和类NullCustomer是类Customer的派生类,因此3、4空都填public Customer。进行对比数据库中的人名compare(name)==0第6空与前面语句是相反的,一个是返回new RealCustomer(name),那么此处应填:new Null Customer()第7空,用工厂创建对象,cf=New CustomerFactory();
转载请注明原文地址:https://tihaiku.com/congyezige/2425953.html
本试题收录于:
初级程序员题库软件水平考试初中高级分类
初级程序员
软件水平考试初中高级
相关试题推荐
解答服务对象的健康问题,帮助其澄清观念、做出决策的人际传播形式称为A.咨询B.个
网页中代码"inputtype=textname="foo"size=20
在如下所示的一段XML代码中,根元素名为()。 <?xmlversion="
负责解释执行JavaScript代码的是()。A.Web服务器 B.Web浏览
下面的XML代码段中,语法正确的是()。A.<!-xml示例-!><?xml
下列设置图像地图正确的HTML代码是()。A.<areashape="po
()是正确的网页代码结构。A.<html></html><head><
阅读一下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】
阅读一下说明,回答问题1至问题4.将解答填入答题纸对应的解答栏内。 【说明】
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。 【说明】
随机试题
[originaltext]M:So,Susan,doyouhaveanythingplannedforthisSaturday?W:
当控制器发出启动命令时,启动灯点亮,显示器上会同时显示出所对应的具体启动信息.
库房内严禁使用明火,库房外动火作业必须办理动火证,动火证必须注明()等内容。A.
SQL-99标准规定的事务的四个隔离级别中,能解决幻影读现象的级别是( )。A
斑与疹的主要区别是()A.是否色红成片 B.是否时现时隐 C.是否
手阳明大肠经分布在A.上肢外侧前缘 B.上肢内侧后缘 C.上肢外侧中线 D
道.琼斯工业股价平均数包含以下( )指标。 ①道.琼斯工业股价平均数 ②道
绝经前后诸证之肝阳上亢者,除主穴外,宜加用A.照海、阴谷 B.关元、命门 C
患者脐腹疼痛,按之坚硬有块,大便不通,偶可排出少量臭秽稀水,日晡潮热,口舌干燥,
适用于规模比较大、经济业务较多的单位的账务处理程序是()A.记账凭证账务处理程
最新回复
(
0
)