复制构造函数应该是私有的还是公共的

Aar*_*ron 6 c++ private public copy-constructor

我正在编写一个抽象类,它将成为其他几个类的父类.我认为复制构造函数应该是私有的,因为你使用的是抽象类,没有什么可以复制的.但是,我不是100%肯定.

我是否正确,如果我不是为什么要公开或受到保护?

BЈо*_*вић 8

如果您不希望复制类的对象,则复制构造函数应该是私有的.否则,它应该是公开的.


das*_*ght 6

我认为这protected是最好的选择:它决定对象是否可以复制到派生类,同时禁止在抽象类级别进行复制,防止可怕的对象切片.