我已經將它鑽入我的腦海許多次,如果提供了複製構造函數,還必須提供賦值運算符。但是,有時候類可以使用複製構造函數,但不能使用賦值運算符。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