被删除的构造函数/运算符的可访问性是否重要?

Dre*_*kes 10 c++ c++11

如果某个类型的默认成员被删除,那么该声明的可访问性是否有所不同?

class FooA {
public:
  FooA() = delete;
  FooA(FooA const&) = delete;
  FooA& operator=(FooA const&) = delete;
}

class FooB {
private:
  FooB() = delete;
  FooB(FooB const&) = delete;
  FooB& operator=(FooB const&) = delete;
}

class FooC {
protected:
  FooC() = delete;
  FooC(FooC const&) = delete;
  FooC& operator=(FooC const&) = delete;
}
Run Code Online (Sandbox Code Playgroud)

Lig*_*ica 5

尽管可访问性和删除性是正交的,但很难看出在您提出的案例中可能存在实际差异.