#include #include 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"< cout()< cout()< cout()< cout()< delete cf; } } ; int main() { CRM* crs = new CRM(); crs->getCustomer(); delete crs; return 0; }