在C++中,类的拷贝主要是通过拷贝构造函数和赋值函数,还有就是为拷贝专门实现的成员方法。
拷贝构造函数和赋值函数在用户没有提供的情况下是由C++ 编译器自动生成的,是public成员,因此默认的C++类都有拷贝功能。
若让一个C++类不能被拷贝,可显式地声明类的拷贝构造函数和赋值函数为私有函数,从而达到该类不可被拷贝的目的。
下面提供一个简单的基类,任何从此类继承的派生类都不可被拷贝。
1 /* 2 *任何继承该类的派生类都不能进行复制和拷贝 3 * 4 */ 5 6 class NonCopyable 7 { 8 public: 9 NonCopyable(){} 10 ~NonCopyable(){} 11 private: 12 NonCopyable(const NonCopyable &) 13 const NonCopyable& operator=(const NonCopyable &); 14 }; 15
原文:http://www.cnblogs.com/zhahw/p/3897982.html