For objects that do have pointer components, you can define an appropriate assignment subroutine. Mind you: what such a routine should do depends very much on the intended use. For instance: if you have a circular buffer that is implemented using a linked list that points back into itself, such an assignment might be tricky.