【发布时间】:2016-03-24 06:10:26
【问题描述】:
当使用以下代码禁用复制和赋值时:
Foo(const Foo&) = delete;
Foo& operator=(const Foo&) = delete;
这是否也会自动禁用 Foo 子类的复制和分配?
class Bar : public Foo {
}
或者,换句话说,Bar 可以被复制吗?
【问题讨论】:
-
不,
Bar无法复制。 -
Bar的其中一个组件不可复制时,如何复制它? -
感谢您的回答!如果您将其放入答案中,我可以接受:)
-
自动禁用
Foo子类的默认复制和分配。它不会阻止编写Foo子类的人编写自己的复制构造函数和/或赋值运算符。
标签: c++ c++11 copy-constructor assignment-operator