Ich habe eine Klasse, die eine Unterklasse von QObject ist, die ich als Meta-Typ registrieren möchte. Die QObject documentation besagt, dass der Kopierkonstruktor privat sein sollte, aber die QMetaType documentation besagt, dass ein Typ einen öffentlichen Standardkonstruktor, einen öffentlichen Kopierkonstruktor und einen öffentlichen Destruktor haben sollte.Unterklasse von QObject, qRegisterMetaType und der Konstruktor der privaten Kopie
Ich kann den privaten Kopierkonstruktor von QObject überschreiben und einen öffentlichen Kopierkonstruktor deklarieren, aber ist das sicher/ok/richtig?
class MyClass : public QObject {
Q_OBJECT
public:
MyClass();
MyClass(const MyClass &other);
~MyClass();
}
Q_DECLARE_METATYPE(MyClass);
So wie ich werde am Ende ist QSharedPointer (Qt 4.5 und höher) zu verwenden. Q_DECLARE_METATYPE (QSharedPointer) –
darkadept