Как документация QObject
и многие другие объясняют, QObject
имеет идентичность и, таким образом, скрывает свой конструктор копии и назначение
Однако я не исхожу из QObject
из-за его функции динамических свойств или функции сигналов / слотов. Мне нужно только отражение или возможность доступа к Foo :: staticMetaObject
.
class Foo : public QObject {
Q_OBJECT
Q_ENUMS(Color)
public:
enum Color { Blue, Red, Pink };
private:
Color color;
};
Q_DECLARE_METATYPE(Foo::Color)
Я не могу скопировать Foo
с помощью:
Foo a;
Foo b;
a = b;
Что за лучший способ разрешить копирование и назначение в этом случае? Обязательно ли мне писать конструктор копирования и оператор присваивания? Как бы они выглядели? Будет ли отражение работать по-прежнему?