为明确拒绝编译器自动生成的默认copy构造函数和copy assignment操作符,只需显示地将copy构造函数和copy assignment操作符声明为private,并且不予以实现。
-
class Uncopyable {
-
protected:
-
Uncopyable() { }
-
~Uncopyable() { }
-
-
private:
-
Uncopyable(const Uncopyable &);
-
Uncopyable& operator= (const Uncopyable &);
-
};
具体实现的时候,Uncopyable只是当作一个专门去阻止copy的基类,需要在实现的类上去继承该基类。
-
class HomeForSale:private Uncopyable {
-
...
-
};
阅读(1147) | 评论(0) | 转发(0) |