禁用默认拷贝构造和复制拷贝
#define Q_DISABLE_COPY(Class) \
Class(const Class &) Q_DECL_EQ_DELETE;\
Class &operator=(const Class &) Q_DECL_EQ_DELETE;
- # define Q_DECL_EQ_DELETE = delete 删除
例1:
class Base
{
public:
Base();
Base(const Base &) = delete;
Base &operator=(const Base &) = delete;
};
例2:
class Base
{
public:
Base();
private:
Base(const Base &) = default;
Base &operator=(const Base &) = default;
};
注意:友元函数还是可以调用