Consider the following code:
class A { B* b; // an A object owns a B object A() : b(NULL) { } // we don\'t know what b will be when constructing A
Erm, is there some reason you can't do this?
A() : b(new B()) { } void calledVeryOften(…) { b->setValues(param1, param2, param3, param4); }
(or set them individually, since you don't have access to the B class - those values do have mutator-methods, right?)
B