C++实现不行被拷贝的类
在C++中,类的拷贝主要是通过拷贝结构函数和赋值函数,再者就是为拷贝专门实现的成员要领。由于拷贝结构函数和赋值函数在用户为提供的环境下是由C++编译器自动生成的,并且是public成员,因此默认的C++类都有拷贝成果。若让一个C++类不能被拷贝,可显式地声明类的拷贝结构函数和赋值函数为私有函数,从而到达该类不行被拷贝的目标。下面简朴地提供一个基类,任何需要提供不行被拷贝成果的C++类只需以后类派生即可。
/*
* 通过私有化拷贝结构函数和赋值函数而到达工具不行被拷贝的目标
* 任何需提供不能被拷贝成果的类可以直接从CNonCopyable派生即可
*/
class CNonCopyable
{
private:
CNonCopyable(const CNonCopyable&);
const CNonCopyable& operator=(const CNonCopyable&);
protected:
CNonCopyable() { }
~CNonCopyable() { }
};