复制构造函数

0x00 语法

classname (const classname &obj) 
{
   //...
}

0x01 概念辨析

  • 复制构造函数是一种特殊的构造函数,一般用于:

通过使用另一个同类型的对象来初始化新创建的对象。
复制对象把它作为参数传递给函数。
复制对象,并从函数返回这个对象。

在这三种情况下,复制构造函数会被隐式调用,复制得到一个临时的新对象,并在新对象被删除(情况一和三)函数返回(情况二)时撤销。

Classname name2 = name1(if parameters exists);

Function(Classname);

Function(if parameters exists)
{
  ...
  return Classname;
}
  • 如果类带有指针变量,并有动态内存分配,则它必须有一个拷贝构造函数。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容