// ... enum objtype { foo, bar }; int main() { ProcessorMgr mgr; mgr.addProcessor(foo, new FooProcessor()); mgr.addProcessor(bar, new BarProcessor()); InputObj x1, x2; mgr.processInput(x1); mgr.processInput(x2); return 0; }