Implemented assignment overloading using the copy-and-swap idion