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