拷贝构造函数

Posted nanqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拷贝构造函数相关的知识,希望对你有一定的参考价值。

定义:如果一个构造函数第一个参数是自身类型的引用,且任何额外参数都有默认值,则此构造函数就是拷贝构造函数。

拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数通常用于:

  • 通过使用另一个同类型的对象来初始化新创建的对象。

  • 复制对象把它作为参数传递给函数。

  • 复制对象,并从函数返回这个对象。

如果在类中没有定义拷贝构造函数,编译器会自行定义一个。

如果类带有指针变量,并有动态内存分配,则它必须有一个拷贝构造函数。拷贝构造函数的最常见形式如下:

classname (const classname &obj) {
   // 构造函数的主体
}
 
通常的原则是:①对于凡是包含动态分配成员或包含指针成员的类都应该提供拷贝构造函数;②在提供拷贝构造函数的同时,还应该考虑重载"="赋值操作符号。
 


以上是关于拷贝构造函数的主要内容,如果未能解决你的问题,请参考以下文章

关于c++拷贝构造函数

拷贝构造函数

关于C++默认拷贝构造函数

C++拷贝构造函数:浅拷贝与深拷贝

构造函数 析构函数 拷贝构造函数 ~~~~~~~~~~拷贝构造函数

2022-04-09 STL容器vector与拷贝构造函数