add self-througt information about having assignment operators return a
reference to *this
add self-througt information about handling assignment to self in operator
=
add self-througt information about copying all parts of an object