Oh, this is Jason Turner! I'm sure he'd no longer write that kind of code, given its pre-C++11.<p>Not really intellectually interesting anymore IMO.<p>People say "I know some C++" and that could mean they have 2 decades, or 2 days, experience.<p>In reality, this is not a C++ problem, this is a software engineering problem. You need to learn to choose a solution that is good, not a solution that sounds good, or that will impress management.<p>If you need OOP, use it, otherwise, stay very far away. Same with callbacks and other funny constructs. You need them? Use them. You use them because they sound cool? It may be that you just want to call two functions after one another -- you dont need a callback to the first for that.