首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
以下C++代码实现一个简单客户关系管理系统(CRM)中通过工厂(CustomerFactory)对象来创建客户(Customer)对象的功能。客户分为创建成功的客户(RealCustomer)和空客户(NullCustomer)。空客户对象是当不满足特定条
以下C++代码实现一个简单客户关系管理系统(CRM)中通过工厂(CustomerFactory)对象来创建客户(Customer)对象的功能。客户分为创建成功的客户(RealCustomer)和空客户(NullCustomer)。空客户对象是当不满足特定条
admin
2018-04-19
132
问题
以下C++代码实现一个简单客户关系管理系统(CRM)中通过工厂(CustomerFactory)对象来创建客户(Customer)对象的功能。客户分为创建成功的客户(RealCustomer)和空客户(NullCustomer)。空客户对象是当不满足特定条件时创建或获取的对象。类间关系如图6.1所示。
【C++代码】
#include
#include
using namespace std;
clasS Customer{
protected:
string name;
public:
(1)__________bool 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 NuliCustomer(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
.(5)__________ ){
return new RealCustomer(name);
}
}
return (6)__________;
}
};
Class CRM{
public:
void getCustomer() {
CustomerFactory*(7)__________;
Customer* customerl =cf一>ge七Customer("Rob");
Customer* customer2 =cf一>getCustomer("Bob");
Customer*customer3=cf一>getCustomer("Julie”);
Customer*customer4=cf一>getCustomer("Laura");
cout<< "Customers" <
cout<
getName()<
cout<
getName()<
cout<
getName()<
cout<
getName()<
delete Cf;
}
};
int main() {
CRM*crs=new CRM();
crs一>getCustomer();
delete crs;
return 0;
}
/*程序输出为:
CuStomers
Rob
Not Available in CuStomer Database
Julie
Not Available in Customer Database
*/
选项
答案
(1)virtual (2)virtual (3):public Customer (4):public Customer (5)compare(name)=0或其等价形式 (6)new NullCustomer() (7)cf=new CustomerFactory()
解析
本题考查用C++语言进行程序设计的能力,涉及类、对象、函数的定义和使用。要求考生根据给出的案例和代码说明,认真阅读以理清程序思路,然后完成题目。题目所给代码清晰,易于理清思路。
先考查题目说明,实现一个简单的客户关系管理系统(CRM),其中通过工厂(CustomerFactory)对象来创建客户(Customer)对象的功能。客户分为创建成功的客户(RealCustomer)和空客户(NullCustomer)。空客户对象是当不满足特定条件时创建或获名称Rob和Bob为例,即:
Customer*customerl=cf一>getCustomer("Rob");
Customer* customer2 = cf一>getCustomer("Bob");
cout<
getName()<
cout<
getName()<
因为names中有Rob而无Bob,所以对应的输出结果为:
Rob
Not Available in Customer DatabaSe
整个系统的入口main()函数中,创建CRM对象,并调用getCustomer()创建客户。
综上所述,空(1)和空(2)需要标识虚拟函数,并且在子类中方法均为public,所以为virtual;空(3)和空(4)需要表示RealCustomer和NullCustomer继承抽象类Customer,即:public Customer;空(5)处为进行字符串判等,即compare(name)=0;
空(6)处为客户名称不存在时返回新创建的NullCustomer对象,即new NullCustomer();
空(7)处为采用new关键字调用CustomerFactory的缺省构造器来创建对象,通过上下文判断对象引用名称为cf,即cf=new CustomerFactory()。
转载请注明原文地址:https://kaotiyun.com/show/79jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
通常情况下,通过Windows任务栏不能直接完成的操作有(37)。
评价信息系统时需要听取各有关方面的意见。在听取系统操作人员的意见时,主要讨论信息系统的______。
某商场在节日期间推出以下几种可供客户选择的促销方式:①100元可以购买标价130元的商品;②满100元立减10元,再打8折;③打7折;④满100元即可参加抽奖,中奖率100%。10%为一等奖,退100元;30%为二等奖,退50元;60%为三等奖,退10元。
据某地区统计,今年中小学生中肥胖学生约占10%,而且,肥胖学生人数正在以8%的速度增长。假设近年中小学生的总量变化不大,据此我们可以推算出,明年该地区中小学生中肥胖学生的比例约为(64)。
在Excel2007中,若在单元格A1中输入函数“=ROUNDUP(3.1415926,2)”,按回车键后,则A1单元格中的值为______。
下图主板接口中,①处是(28),②处可以接的设备是(29),③处可以接的设备是(30)29.
某学校一个教师可以讲授多门课程,一门课程也可以由多个教师讲授,则教师与课程之间的关系类型为()。
以下定性的分类变量中,(9)属于有序变量(能排序)。
桌面上有各种图标,图标在桌面上的位置()。
阅读以下说明,回答问题1至问题4。说明某公司A楼高40层,每层高3.3米,同一楼层内任意两个房间最远传输距离不超过90米,A楼和B楼之间距离为500米,需在整个大楼进行综合布线,结构如图1-1所示。为满足公司业务发展的需要,要求为楼内客户机提供数
随机试题
一名患者在意外事件后1个月查血抗HIV阴性,则可排除HIV感染可能。
甲公司主张乙公司违约,乙公司则主张合同未成立,其理由是自己向甲公司发出的要约已经撤销。在甲公司可能提出的以下理由中,在以下哪种情形下法院可以认定乙公司撤销要约成立?()
垃圾清运实现机械化,有专用车辆、船只等,应保证清运机械通达垃圾收集点清运车辆的配置数量根据()等确定
分部分项工程成本分析过程中,计算偏差和分析偏差产生的原因,需进行对比的“三算”是()。
会计账簿按账页格式分,可以分为()。
《桃花源记》中描述:“缘溪行,忘路之远近。忽逢桃花林,……林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田美池桑竹之属。”“桃花源”的地形最可能是()。
政府进行金融调控的主要政策手段是财政政策。()
【《孔子改制考》】安徽师范大学2006年中国近代史真题;西北师范大学2017年历史学综合真题;河北师范大学2018年中国史真题;中国人民大学2018年历史学真题
阅读材料回答问题:在同黄炎培的一次谈话中,毛泽东问他有什么感想?黄炎培回答:我生六十多年,耳闻的不说,所亲眼看到的,真所谓“其兴也勃焉”,“其亡也忽焉”,一人,一家,一团体,一地方,乃至一国,不少单位都没有能跳出这周期律的支配力。大凡初时聚精会神,没有一
设ξ1,ξ2,ξ3,ξ1+aξ2一2ξ3均是非齐次线性方程组Ax=b的解,则对应齐次线性方程组Ax=0有解()
最新回复
(
0
)