Q&A > object-oriented programming > How do I make a copy constructor? (inheritance?) - Answer contributed by Anonymous Monk
There is a potential other problem with your code, which I would like to pinpoint as
you have talked about inheritance.
If your copy method is called for a child of the Stuff class
it will generate a Stuff object and not the a Child-Of-Stuff object.
In order to avoid this you could bless to ref($self)
you might considder it unlikely that a child class will not override
the copy constructor, but reasonable applications
are thinkable. (e.g.dispatching by class, Stuff is abstract/interface and you just add methods in your child classes etc.)
And there is a not OO issue, what if you change the name of your class, you have to change all your bless statements...
It is in general a good idea not to hardcode this kind of information.