クラスにポインターを使用して宣言されたデータ メンバーがない場合、コピー コンストラクターには常に代入演算子と同じコードが含まれますか? もしそうでなければ、なぜですか?
編集私が何を意味するかを説明するためにいくつかのコードが必要だと思います:
class A{
public:
A();
A(const A& a);
A& operator=(const A& a);
private:
int a;
double b;
};
//Copy constructor
A::A(const A& src){
a = src.a;
b = src.b;
}
//Assignment operator
A& A::operator=(const A& src){
//Because none of the data members are pointers- the code in here
//would be the same as the copy constructor?
//Could I do:
a = src.a;
b = src.b;
//?
}