重温《C++ Primer》笔记六 拷贝构造函数的存在
来源:互联网 发布:达内 专业硕士java 编辑:程序博客网 时间:2024/05/21 21:01
构造函数是在创建一个新对象的时候被执行的函数,其中参数列表就是让我们可以根据已知的数据来设置将要被创建的同类新对象。这些参数可以是传递给类中部分成员变量的,另外还有一种情况是,我们现在已经有了一个对象,想根据这个已知的对象创建一个相同的对象,由于成员变量比较多,如果一个一个地传递设置值的话,则参数表会很繁杂。那么C++就允许将构造函数的参数直接设置为该类对象。
那么现在有个疑问,这些工作完全可以使用一个函数来完成的啊。比如下面的代码:
class People{public:int static count;};People copy(People p){p.count++;return p;}int People::count = 0;void main(){People p1;People p2 = copy(p1);cout<<p2.count<<endl;}上面的代码实现了我想要的功能,但是,这并不是一个初始化,而是使用C中参数传递的位拷贝的概念。在许多情况下,这种方式是可行的。但是,如果我们想以初始化的方式来介入这个过程中,让编译器在我们创建一个新对象时执行的操作不是位拷贝,而是像普通创建对象那样来调用我们的构造函数,因此C++设计了拷贝构造函数。拷贝构造函数在创建一个新对象的时候被调用,并且传递个这个函数的单一参数必须是创立对象的源对象,但是这个对象不能通过上面那样按值传递的方式来进入构造函数。
0 0
- 重温《C++ Primer》笔记六 拷贝构造函数的存在
- 重温《C++ Primer》笔记四 构造函数的初始化列表
- 【C++Primer】封装_拷贝构造函数
- 重温堆和拷贝构造函数
- C++ Primer笔记9_构造函数_拷贝构造(深拷贝与浅拷贝)
- C++primer--拷贝控制__构造函数和析构函数的执行时期
- C++ Primer Plus学习笔记之拷贝构造函数
- 【足迹C++primer】54、继承类的范围,构造函数和拷贝控制
- 【C++】拷贝构造函数
- C++:拷贝构造函数
- c++"拷贝构造函数
- C++: 拷贝构造函数
- 【C++】拷贝构造函数
- c++::拷贝构造函数
- 【C++】:拷贝构造函数
- 【C++】拷贝构造函数
- C++:拷贝构造函数
- C 类对象的拷贝构造函数
- 开源 Java 中文分词器 Ansj 作者孙健专访
- 软考(三)——操作系统
- ThinkPHP框架完全解析一
- JQuery列表模式大图模式切换
- android-AsnyTask 请求网络资源
- 重温《C++ Primer》笔记六 拷贝构造函数的存在
- HDU4496 D-City【并查集】
- 蓬莱法制大队,蓬莱劳动电话
- linux下安装mysql数据库
- 模式识别:非参数估计法之Parzen窗估计和k最近邻估计
- 从cin读入一组词并存入一个vector对象,然后把所有词都改成大写。输出改变后的结果,每个词占一行。
- 黑马程序员_C语言中的typedef使用小结
- mini2440硬件篇之中断
- JavaScript学习 - JavaScript几点基础