本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie
经验:为驳回编译器自动提供的机能,可将相应的成员函数声明为private并且不予实现。使用像Uncopyable这样的base class也是一种方法
classUncopyable{
protected: //允许derived对象构造和析构
Uncopyable(){}
~Uncopyable(){}
private:
Uncopyable(constUncopyable&); //但阻止copying
Uncopyable&operator=(const Uncopyable);
}
class HomeForSale: private Uncopyable {
};