在一个类中,如果不想某些成员函数被外界对象访问,一般我们会设置为private,但是这样不太美观,在c++11中,新增了一种特性,delete 我们在一个成员函数后面添加“=delete”后,该成员函数就不能生成函数实体(即不能定义该函数,换句话说,只允许声明,不允许定义),否则会编译出错。如:
class A
{
public:
A(){};
~A(){};
public:
void Func() = delete;
}
void A::Func()
{
}
//会提示编译错误–A::Func已有主体。将函数实现屏蔽掉则编译正常