文章目录
- 实现一个不能被copy的类
- 1.先实现父类
- 2.代码实现
- 小结
实现一个不能被copy的类
1.先实现父类
- 一个类不能被copy,首先肯定是构造函数没有。
- 其次,拷贝构造不能有
- 赋值构造函数也不能有
基于这三点,就容易实现了。下边看看代码。
2.代码实现
先来看看基类,如下:
class UnCopyAble {
public:UnCopyAble(const UnCopyAble &) = delete;UnCopyAble &operator=(const UnCopyAble &) = delete;UnCopyAble &operator=(const UnCopyAble &) const = delete;
protected:UnCopyAble() = default;
};
派生类就简单了,
class A : public UnCopyAble {
}class B : public UnCopyAble {
}class C : public UnCopyAble {
}
小结
看过代码逻辑及实现流程,有没有觉得挺简单的。还是面向对象的基础,构造函数,拷贝构造函数,赋值操作符这些。抽空看看,时长思考下一些基础知识。