如果您的类没有使用指针声明的任何数据成员,那么复制构造函数是否总是包含与赋值运算符相同的代码?如果没有,为什么不呢?
编辑认为我需要一些代码来解释我的意思:
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;
//?
}