1、使用已经创建好的对象来初始化一个新对象。
如有class A有如下定义:
A a;
A b=a;//A b(a);
构造函数-》拷贝构造函数-》析构函数-》析构函数
2、使用类对象作为函数的形参进行值传递。
void test(A a)
{
A b=a;
}
值传递的本质是拷贝一个临时的副本,此时会调用拷贝构造函数。
3、使用类对象作为函数的返回值。
A test()
{
A a;
return a;
}
1、使用已经创建好的对象来初始化一个新对象。
如有class A有如下定义:
A a;
A b=a;//A b(a);
构造函数-》拷贝构造函数-》析构函数-》析构函数
2、使用类对象作为函数的形参进行值传递。
void test(A a)
{
A b=a;
}
值传递的本质是拷贝一个临时的副本,此时会调用拷贝构造函数。
3、使用类对象作为函数的返回值。
A test()
{
A a;
return a;
}