I have a class that is a subclass of QObject that I would like to register as a meta-type. The QObject documentation states that the copy-constructor should be private, but
I use a separate copyValue(const MyClass & other) function to copy the data members that define the "values" of the MyClass instance. That ensures that I don't break the assumption of QObject unique identity, while still being able to duplicate the parts of the class that are defined at compile time.