1:使用一个已经创建完毕的对象来初始化一个新的对象。
2:值传递的方式给函数参数传值
3:值方式返回局部对象。
类和主函数代码:
#include
using namespace std;
class Preson
{
public:
Preson()
{
cout<<”Preson默认构造函数的调用”< }
Preson(int age)
{
Age=age;
cout<<”Preson有参构造函数的调用”< }
~Preson()
{
cout<<”Preson析构函数的调用”< }
Preson(const Preson& p)
{
Age=p.Age;
cout<<”Preson拷贝构造函数的调用”< }
int Age;
};

//第一种情况:

void test1()
{
Preson p1(18);
Preson p2(p1);
cout<<”p1:”<}

//第二种情况:会调用拷贝构造函数

void dowork(Preson p)
{


}
void test2()
{
Preson p;
dowork(p);
}

//第三种情况:会调用拷贝构造函数

Preson dowork2()
{
Preson p;
return p;
}
void test3()
{
Preson p=dowork2();
}

主函数:

int main()
{
// test1();
// test2();
// test3();
return 0;
}

注释:网址:https://www.bilibili.com/video/BV1et411b73Z?p=108&spm_id_from=pageDriver