class A
{
private:
int a;
public:
A(int m_a){ a = m_a ;}
A(const A & Obj){ a = Obj.a; }
...
}
A fun1()
{
A OBJ(3);
//会创建匿名对象
return OBJ;
}
void fun2(A OBJ)
{
cout<<OBJ.a<<endl;
}
int main()
{
A OBJ_a(1);
//三种典型的调用复制构造函数的初始化,即已有对象构造后有对象
A OBJ_b(a);
A OBJ_c = OBJ_b;
A OBJ_d(c);
//函数返回为类类型时,通过复制构造建立临时对象
A OBJ_d;
d = fun1();
//把对象复制到类形参
A OBJ_e;
fun2(e);
}
备份地址: 【C++复制构造函数应用场景】