复制构造函数
来源:互联网 发布:淘宝仓库管理视频 编辑:程序博客网 时间:2024/05/16 06:29
今天回看了前面的内容,发现这一章掌握的不够好,就重看了一遍,顺便总结一下(无规律总结)。
复制构造函数用于复制对象,即可以初始化对象,也可以将复制得到的对象作为实参传递给函数,多用于初始化。
当我们这样写: string null_bulk = "9-9-9-9"; 在创建null_bulk时编译器先调用string的构造函数创建临时对象再用string的复制构造函数将null_bulk初始化为该临时对象副本(即"9-9-9-9”),个人感觉当使用“=”时就会调用到复制构造函数,就像书上讲的复制初始化,话说以前初始化时没有想到会有这么多步骤。
接下来就要定义复制构造函数了:
class Foo
{
public:
Foo(); //非复制构造函数
Foo(const Foo&); //正确
}
可以说,复制构造函数就是就受单个类类型引用形参(通常用const修饰)的构造函数(对比一下构造函数)。
刚开始的时候不知道这个有什么用,后来看到重载操作符才想起类之间的相互赋值不像int型这种内置的,例如:
int a;
int b=a; //这很自然
而
class sp{};
sp a;
sp b = a;
//这里b的“初始化”就要定义构造函数才能实现,不然怎么知道你说的是什么,sp又不是内置类型
咳咳,觉得这一篇有点水啊!
- 构造函数 复制构造函数
- 深复制-复制构造函数
- 关于复制构造函数
- 关于复制构造函数
- 关于复制构造函数
- 关于复制构造函数
- 关于复制构造函数
- 学习复制构造函数
- 复制构造函数
- 复制构造函数
- 复制构造函数
- 复制构造函数
- 复制构造函数总结
- 复制构造函数
- 复制构造函数
- C++复制构造函数
- 复制构造函数实例
- 复制构造函数
- CABasicAnimation动画完成后,界面闪烁
- 树和二叉树(一)
- VS2008中DLL的编写与调用
- cloudstack 编译后yum安装遇到的问题
- CvSeq
- 复制构造函数
- destoon 系统常量与变量
- vc,C#远程调试
- android sqlite cmd中文乱码
- windows server 2012 AD 活动目录部署系列(一)DNS 配置
- hdu 2955 dp
- 理解 Python 中的装饰器
- 你知道旧金山名称的由来么?
- hdu 1172 猜数字