首页 > 代码库 > 禁止拷贝

禁止拷贝

技术分享建立一个禁止拷贝的基类
1 class Noncopyable{//主要作用在于禁止基类对象的拷贝;
2 public:
3     Noncopyable(){}
4     ~Noncopyable(){}
5     Noncopyable(const Noncopyable&) = delete;
6     const Noncopyable operator=(const Noncopyable&) = delete;
7 };

如果继承自这个类的派生类中,有独立的拷贝构造函数,且没有执行基类的拷贝构造函数,那么这个派生类可以进行拷贝构造。如果派生类的拷贝构造函数继承了基类的拷贝构造函数,则不可以拷贝。

但是构造函数不同,派生类的构造函数会默认调用基类的构造函数,如果基类禁止构造,那么派生类也不能进行构造。

禁止拷贝