Yes. Never override any implementation with a different implementation. Only override pure virtual functions. Use composition to parameterize your instances instead of using inheritance -- "never" use protected virtual functions, overriding them in subclasses, to parameterize a class's behavior. Instead, make a separate datatype that performs the method's computation and pass it in as a parameter.
You should never be making "heavy" use of inheritance. (But I'm not sure what your standards of "heavy" are.)
Last edited by Rashakil Fol; Feb 27th, 2009 at 11:19 pm.
Reputation Points: 1133
Solved Threads: 171
Super Senior Demiposter
Offline 2,478 posts
since Jun 2005