Effective C++ 条款六 若不想使用编译器自动生成的函数,就该明确拒绝
class HomeForSale //防止别人拷贝方法一:将相应的成员函数声明为private并且不予实现
{
public:
private:
HomeForSale(const HomeForSale&);
HomeForSale& operator = (const HomeForSale&);//只有申明,此函数很少被使用
};
//方法二,设计一个专门用来阻止copying动作的基类,然后让其他类继承这个类即可
class Uncopyable
{
protected:
Uncopyable(){};
~Uncopyable(){};
private:
Uncopyable (const Uncopyable&);
Uncopyable& operator=(const Uncopyable&);
};
记住:
为驳回编译器自动提供的机能,可将相应的成员函数声明为private并且不予实现。或者使用想Uncopyable这样的base class也是一种做法。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。