QObject가 복사 생성자와 할당 연산자를 사용할 수 없다는 인상하에있었습니다 ... 왜이 두 QObject 파생물을 모두 포함 할 수 있습니까?복사 생성자를 만들고 QObject 하위 클래스에 대입 연산자를 오버로드 할 수있는 이유는 무엇입니까?
#ifndef QVERSION_H
#define QVERSION_H
#include "silverlocklib_global.h"
#include <QtCore>
struct SILVERLOCKLIBSHARED_EXPORT QVersion : public QObject
{
Q_OBJECT
Q_PROPERTY(bool valid READ isValid)
Q_PROPERTY(long major READ major)
Q_PROPERTY(long minor READ minor)
Q_PROPERTY(long build READ build)
Q_PROPERTY(long revision READ revision)
public:
QVersion(long major = 0, long minor = 0, long build = -1, long revision = -1, QObject *parent = NULL);
QVersion(const QString &version, QObject *parent = NULL);
QVersion(const QVersion &version);
static QVersion parse(const QString& version, bool *ok = NULL);
bool isValid() const;
long compareTo(const QVersion &other) const;
bool equals(const QVersion &other) const;
QString toString() const;
QString toString(int fieldCount) const;
long major() const;
inline int majorRevision() const { return (qint16)(this->m_revision >> 16); }
long minor() const;
inline int minorRevision() const { return (qint16)(this->m_revision & 65535); }
long build() const;
long revision() const;
QVersion& operator=(const QVersion &version);
friend bool operator==(const QVersion &v1, const QVersion &v2);
friend bool operator!=(const QVersion &v1, const QVersion &v2);
friend bool operator<(const QVersion &v1, const QVersion &v2);
friend bool operator<=(const QVersion &v1, const QVersion &v2);
friend bool operator>(const QVersion &v1, const QVersion &v2);
friend bool operator>=(const QVersion &v1, const QVersion &v2);
private:
inline static void copy(QVersion *const destination, const QVersion &source);
static bool tryParseComponent(const QString &component, long *parsedComponent);
long m_major;
long m_minor;
long m_build;
long m_revision;
};
#endif // QVERSION_H
"사용 안 함"? C++에는 복사 생성자, 할당 연산자 또는 다른 것을 "비활성화"하는 기능이 없습니다. 그게 무슨 뜻 이니? – AnT
AndreyT : 개인을 비공개로 설정할 수 있습니다. 그러나 모든 하위 클래스를 공개 할 수 있습니다. 어쨌든 그들은 QObjects에 대해 아무런 의미가 없습니다. QObject는 "ID"를 가지며 복사 또는 할당시 이러한 가정이 깨집니다. –