免费智能真题库 > 历年试卷 > 程序员 > 2025年上半年 程序员 下午试卷 案例
  第6题      

 
【说明】
以下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++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
 
 
 

   题号导航      2025年上半年 程序员 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
 
第6题    在手机中做本题