传智扫地僧课程学习笔记。
//赋值构造函数 (copy构造函数) //
Test4(const Test4& obj )
{
cout<<"我也是构造函数 " <<endl;
m_b = obj.m_b + 100;
m_a = obj.m_a + 100;
}
//1 赋值构造函数 用1个对象去初始化另外一个对象
void main41()
{
Test4 t1(1, 2);
Test4 t0(1, 2);
//赋值=操作 会不会调用构造函数
//operator=()//抛砖
t0 = t1; //用t1 给 t0赋值 到操作 和 初始化是两个不同的概念
Test4 t2 = t1; //用t1来初始化 t2
Test4 t2(t1); //用t1对象 初始化 t2对象
system("pause");
return ;
}
t2的初始化,会调用拷贝构造函数,而不是构造函数,
t0 = t1,调用的是=操作符,这里涉及到操作符重载,暂时还没讲到。