我有一個類是QObject的子類,我想註冊爲元類型。 QObject documentation指出複製構造函數應該是私有的,但QMetaType documentation指出一個類型應該有公共默認構造函數,公共複製構造函數和公共析構函數。QObject的子類,qRegisterMetaType和私有拷貝構造函數
我可以重寫QObject的私有拷貝構造函數並聲明一個公共拷貝構造函數,但是這是安全的還是正確的?
class MyClass : public QObject {
Q_OBJECT
public:
MyClass();
MyClass(const MyClass &other);
~MyClass();
}
Q_DECLARE_METATYPE(MyClass);
我最終去的方式是使用QSharedPointer(QT 4.5及以上)。 Q_DECLARE_METATYPE(QSharedPointer) –
darkadept
2009-06-05 17:02:58