【发布时间】:2012-02-12 13:44:45
【问题描述】:
我已经有很多次在我的脑海中钻过,如果提供了复制构造函数,则还必须提供赋值运算符。但是,有时类可以使用复制构造函数但不能使用赋值运算符。
例如:
class A {
public:
const int myVar;
A(const int var) : myVar(var) {};
A(const A& other) : myVar(other.myVar) {};
};
所以这是一件可怕的事情吗?赋值运算符是否需要定义但私有?这样的类仍然可以复制构造吗?
【问题讨论】:
-
这个类甚至不需要显式的复制构造函数,因为编译器生成的正是你想要的。
-
@R.MartinhoFernandes:我假设这是一个用于表达问题的简单代码示例。
标签: c++ copy-constructor assignment-operator