void calc(int num) { Handler* next; next = new ConcreteHandler2; next->request(num); delete next; }
void request(int num) { if(num % 2 == 0) { cout << num << " is multiple of 2." << endl; Handler* next = new ConcreteHandler3(); next->request(num); delete next; } else cout << num << " is not multiple of 2." << endl; }