当您将 cctor、dtor 或 op= 添加到您的班级时,我知道 C++ 的经验法则,您还需要添加另外两个以使您的班级在所有情况下都能正常工作。
是否有任何情况下您不需要提供所有三个,只需提供其中一两个?
如果您将其中一个添加到您的类中,为什么 C++ 不要求您将它们全部添加?
编辑1:
当您不仅不需要其中一些示例,而且您不想拥有它们,因此您希望将它们设为私有或受保护时,您提到了示例。但是即使是空的主体,您仍然需要在代码中编写它们。
当您通过添加具有空主体的虚拟析构函数来使类多态时,我没有全部拥有它们的唯一正当理由。但是一旦你在析构函数的主体中写了一些东西,你应该考虑在 cctor 和 op= 的主体中写一些东西。
我正在寻找不需要编写所有 3 种方法的示例,并且即使新手正在使用您的课程,您也可以省略其中一些方法而不会在您的课程中造成错误。:)