如何防止构造类的对象?

Bas*_*ima 1 c++

我在任何地方都找不到答案。可以通过使用条件并引发异常来完成,但是还有其他方法吗?

jua*_*nza 5

尚不清楚为什么要一个在任何情况下都不能构造的类,但是可以构造所有构造函数,却不private为其提供任何实现。这将阻止在编译时进行构造。

在C ++ 11中,您可以使用delete所有构造函数:

class A
{
 public: // or private, doesn't matter.
  A()=delete;
  A(const A&)=delete;
  A(A&&)=delete;
};
Run Code Online (Sandbox Code Playgroud)