拷贝构造函数

来源:互联网 发布:工控软件 编辑:程序博客网 时间:2024/06/05 19:02

拷贝构造函数:定性:众多普通构造函数之一,用来对成员变量进行初始化

        用已经存在的对象来进行初始化新对象

拷贝构造函数参数一定是个引用,不能使用值传递形式

1)用已经存在的对象初始化另一个对象

Text a;    //   调用默认构造函数

         Text  b(a);//  调用拷贝构造函数***

         Text  c=a;//  调用拷贝构造函数 ***

d=a;       //    赋值运算符重载,没有调用构造函数

2)函数形参以值传递形式

         void func(Text aa){  // 调用func()函数,通过调用拷贝构造函数创建的新对象aa (Text aa=a); 

}

Text a;

func(a);

3)函数值返回形式

Text func(){

Text t;

return t;//  这个临时返回值会调用拷贝构造函数被创建出来

}


注意:拷贝构造函数的参数一定是个引用

1⃣️开辟新空间

2⃣️赋值


三大件:拷贝构造函数,析构函数,赋值运算符重载

因为值传递会调用拷贝构造函数,创建新对象,所以C++中函数传参尽可能使用引用

析构函数:


构造函数和类型转换:

要求:构造函数的参数只有一个,转型使用的参数和构造函数的参数类型一致。

0 0
原创粉丝点击