为什么拷贝构造函数调用时不打印Student?
int main(void)
{
Student stu1;
Student stu2=stu1;
Student stu3(stu1);
return 0;
}
int main(void)
{
Student stu1;
Student stu2=stu1;
Student stu3(stu1);
return 0;
}
2018-08-03
有道理,可能你的重点是你认为它调用了构造函数
三、浅拷贝与深拷贝
1. 默认拷贝构造函数
很多时候在我们都不知道拷贝构造函数的情况下,传递对象给函数参数或者函数返回对象都能很好的进行,这是因为编译器会给我们自动产生一个拷贝构造函数,这就是“默认拷贝构造函数”,这个构造函数很简单,仅仅使用“老对象”的数据成员的值对“新对象”的数据成员一一进行赋值,它一般具有以下形式:
Rect::Rect(const Rect& r)
{
width=r.width;
height=r.height;
}
这涉及到了浅拷贝和深拷贝。我也是百度的,我自己的理解就是像上次回答一样,这个函数就只会初始化列表,没有调用
构造函数里面的语句代码。举报