In reply to dvuvmsv:
It is not due to polymorphism; really it isn’t. It is because you are only constructing one object of a child_transaction class type. Upcasting or downcasting a class handle into class variables is only copying the handle, not the object.
BTW, I recommend that you don’t use the terms parent and child when talking about class inheritance. A parent and a child imply they are separate objects, but they are just different types with a base and derived relationship.