Let's assume your customers requirements are 25 PPM. That means that you would be allowed 25 pieces for every 1,000,000 pieces or 250 defective parts per year. Or to put it another way, one bad part per day! Notice I did not say one bad part per day per person or job, or shift or machine.
The dynamic inheritance allows you to follow open-closed principle by extending classes without modifying existing classes and allows you to choose features that you need at runtime. Of course, dynamic languages such as Ruby make this a lot easier as you can extend classes or objects with modules at runtime, e.g.
When a dynamically allocated object is created in a piece of code, but the ownership is transfered to a different element it is usually done with pass-by-pointer semantics, or if possible with smart pointers. Side note. It is important to insist in the importance of the difference between C++ and Java references.