|
|
【说明】
以下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;
}
|
|
|
问题:6.1
(共15分)
阅读下列说明C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
|
|
|
|
|
|