我已经将它钻入我的脑海许多次,如果提供了复制构造函数,还必须提供赋值运算符。但是,有时候类可以使用复制构造函数,但不能使用赋值运算符。C++复制构造函数和赋值
例如:
class A {
public:
const int myVar;
A(const int var) : myVar(var) {};
A(const A& other) : myVar(other.myVar) {};
};
所以这是一件可怕的事是什么?是否需要定义赋值运算符,但将其设为私有?这样的班级是否仍然可以复制?
这个类甚至不需要一个显式的拷贝构造函数,因为编译器生成一个完全是你想要的。 – 2012-01-17 19:03:59
@ R.MartinhoFernandes:我假设这是一个简单的代码示例,用于表示问题。 – 2012-01-17 19:05:46