阅读下列说明和C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 以下C++代码实现一个简单客户关系管理系统(CRM)中通过工厂(CustomerFactory)对象来创建客户(Customer)对象的功能。客户分为创建成功的客户(realCustomer)和空客户(NullCustomer)。空客户对象是当不满足特定条件时创建或获取的对象。类间关系如图所示。
(1)virtual (2)virtual (3):public Customer (4):public Customer (5)compare(name)==0 (6)new NullCustomer() (7)cf=new CustomerFactory(); 解析:本题考察使用C++代码实现实际问题。 (1)在C++中,动态绑定是通过虚函数来实现的。此处用到了虚函数,所以要在成员函数原型前加一个关键字声明,故应填virtual。 (2)同(1)。 (3)类realCustomer是类Customer的派生类,因此应填public Customer。 (4)同(3)。 (5)这里判断是否与数据库中的人名相符,故应填compare(name)==0。 (6)函数执行到这里,说明没有找到用户,应当返回一个空用户,此处应填:new NullCustomer()。 (7)对象均有工厂对象产生,故应先创建创建工厂对象,故应填cf=new CustomerFactory()。