Refactor classes to follow Rule of Zero
Follow SonarCloud rules to follow Rule of Zero, i.e. where possible, use method definitions provided by the compiler rather than adding unnecessary definitions.
This issue also covers cases where the Rule of Zero is not applicable, i.e. where code should define or explicitly delete special methods so they are not implicitly provided.