In reply to dave_59:
Dave , for better understanding I was going through the Base Class Library for the control flow during create() ::
[1] create() internally calls factory.create_component_by_type()
[ As create() uses Type - Based factory ] .
[2] Function create_component_by_type() calls find_override_by_type() which would return
an overridden type if factory Override is registered ( as in our case ) .
[3] Finally virtual function create_component() ( of the Proxy class Specialized to the overridden type ) gets called which calls new() .
So shouldn’t constructor of env#( 4) get called ?