At least in C++, this is usually true for classes without design mistakes. But since you can have arbitrary code in copy/move constructors/assignments, it can't be true for arbitrary classes.
One exception I can think of (where this isn't true and this isn't a design mistake) is resetting moved-from members to some default values.