How to declare functions in C++
Let me google that for you
All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirection. – David J. Wheeler