本文为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 {
- };