Abstract. Class hierarchies, though theoretically reusable, have generally not seen much practical reuse in applications, due in part to the inflexibility of the inheritance relationship. We present a technique, base class injection, that allows the creation of generative class hierarchies that may be adapted by adding new methods, data members, and ancestor classes without modification to the class library code; an implementation of this technique in the C++ language is given.
Douglas Gregor, Sibylle Schupp, David R. Musser