首页 > 其他 > 详细

禁止拷贝构造和赋值

时间:2014-03-29 08:58:40      阅读:467      评论:0      收藏:0      [点我收藏+]

C++实现时有时会希望有些类只保持一份独一无二的实例,因此要在设计上禁止拷贝构造和赋值。

muduo里陈硕大神就经常这样用,不过实现也很简单:

#include <iostream>

class NoCopyable{
	protected:
		NoCopyable(){
		}
		virtual ~NoCopyable(){
		}
	private:
		NoCopyable(const NoCopyable&);
		const NoCopyable& operator=(const NoCopyable&);
};

class A : private NoCopyable{
	
};

int main(){
	A a;
	A b;
	a = b;
}

NoCopyable把拷贝构造和赋值函数 私有化,A私有继承NoCopyable了,自然也继承了NoCopyable的二者接口(并不需要实现),这样就起到作用啦。

可以自己测试下,bubuko.com,布布扣

禁止拷贝构造和赋值,布布扣,bubuko.com

禁止拷贝构造和赋值

原文:http://blog.csdn.net/boyxiaolong/article/details/22466071

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!