C++拷贝构造函数
2015-08-29 22:27
218 查看
拷贝,顾名思义,就是复制啦。在C/C++语言中,赋值岂不是很简单吗?然而,在类中呢,包含了很多不同类型的成员变量。也可以回想一下结构体是怎么复制拷贝的呢?拷贝在我们眼中算是基本操作啦,所以,在类中,就算你不定义,系统也会自己生成一个拷贝构造函数来帮你完成复制的使命。
那就是拷贝构造函数啦:
1)建立新对象,并用同类对象初始化时;
2)函数的参数为类的对象时;
3)函数的返回值为类的参数时。
如果类中包含动态分配,那就牵扯到浅拷贝和深拷贝的问题了。
有一篇博文总结的非常棒,推荐给大家咯:
http://blog.csdn.net/lwbeyond/article/details/6202256
参考很多资料,如有侵权,敬请告知,立马删除。谢谢
那就是拷贝构造函数啦:
class A { int a; int b; A(int x = 0, int y = 1):a(x), b(y){} A(const A& B)//拷贝构造函数 { a = B.a; b = B.b; } };一般会有三个地方用到拷贝构造函数:
1)建立新对象,并用同类对象初始化时;
2)函数的参数为类的对象时;
3)函数的返回值为类的参数时。
如果类中包含动态分配,那就牵扯到浅拷贝和深拷贝的问题了。
有一篇博文总结的非常棒,推荐给大家咯:
http://blog.csdn.net/lwbeyond/article/details/6202256
参考很多资料,如有侵权,敬请告知,立马删除。谢谢
相关文章推荐
- 第五章:C++程序的结构
- C++中内存分配、函数调用和返回值问题
- C++ char* str与char str[]
- 为什么把成员函数声明为虚函数
- LeetCode:Invert Binary Tree
- [C++]Kth Smallest Element in a BST 在一个二叉排序树中找第k小的元素
- C模板实现STL容器中的vector
- Rikka with Graph
- C语言贪心算法
- 关于C++中覆盖,重载,隐藏的一点说明
- C++面试问答攻略(转)
- C/C++中extern关键字详解
- c语言中static extern register以及全局变量的细节
- 更新二进制位
- 《Effective C++》读书笔记(二)
- NetAnalyzer笔记 之 三. 用C++做一个抓包程序
- 链表的删除和插入
- 《IOS_C语言》高级指针(结构体指针、结构体数组指针、结构体数组指针,作为函数的参数使用、预编译指令)
- 有向图深度优先与广度优先算法的C++实现
- 《IOS_C语言》指针