Yup, that's correct.
Return this
wouldn't work since this
is a pointer. (The reason it's a pointer and not a reference is because references weren't introduced into the language until after classes.)
In this specific case, if you're just going to assign the members anyway you shouldn't write a copy assignment operator; the default will do the same. When you manage some resource (and invoke the Rule of Three), you'd want to use the copy-and-swap idiom.