立即学习:https://edu.csdn.net/course/play/474/5141?utm_source=blogtoedu
- 对象的赋值针对对象中所有数据成员的值。
- 对象的赋值只对数据成员操作而不涉及函数成员
对象的复制:
- 用已有的对象克隆出一个新的对象
- 类名 对象1(对象2);
- 编译系统所提供的默认复制构造函数。
什么是由使用复制构造函数进行对象复制
- 新建一个对象的时候:利用复制构造函数进行初始化 Box box2(box1);
- 当函数的形参是类的对象时,通过复制构造函数建立实参的拷贝,来将实参的对象完整的传递给形参。
void fun(Box b)
{ }
int main ()
{
Box box(a,b,c);
fun(box);//函数的形参是类的对象时,实参会通过复制构造函数建立一个新的对象,从而将实参完整的传递给形参。
return 0;
}
- 函数的返回值是类的对象时:函数调用完毕后,将函数中的对象复制给一个临时对象,并传给该函数的调用处。
Box F()
{
Box box(a,b,c);
return box;//函数返回时会将临时变量box复制出一个新的变量作为返回值。
}
int main()
{
Box box2;
box2= f();
}