一步一步学习C++(类)之拷贝构造函数
来源:互联网 发布:手机最好用防蹭网软件 编辑:程序博客网 时间:2024/05/30 04:29
拷贝构造函数,又称复制构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。在C++中,下面三种对象需要调用拷贝构造函数(有时也称“复制构造函数”)。
1) 一个对象作为函数参数,以值传递的方式传入函数体
<span style="color:#000000;">Tstudent::Tstudent(const Tstudent &p)//拷贝复制函数{strcpy(name,p.name);score[0]=p.score[0]+100;score[1]=p.score[1]+100;aver = p.aver+100;printf("拷贝复制函数\n");}//全局函数,传入的是对象 void test(Tstudent &p)//值传递,需要调用拷贝复制函数{Tstudent B = p;B.Print();}</span>
调用test()时,会产生以下几个重要步骤:
(1)p对象传入形参时,会先会产生一个临时变量,就叫 C 吧。
(2)然后调用拷贝构造函数把test的值给C。 整个这两个步骤有点像:Tstudent C(p);
(3)等test()执行完后, 就析构掉 C 对象。
(1)p对象传入形参时,会先会产生一个临时变量,就叫 C 吧。
(2)然后调用拷贝构造函数把test的值给C。 整个这两个步骤有点像:Tstudent C(p);
(3)等test()执行完后, 就析构掉 C 对象。
2) 一个对象作为函数返回值,以值传递的方式从函数返回
Tstudent test1(){Tstudent p("李四",90,90);return p;}当test1()函数执行到return时,会产生以下几个重要步骤:
(1)先会产生一个临时变量,就叫p吧。
(2)然后调用拷贝构造函数把temp的值给p。整个这两个步骤有点像:CExample p(temp);
(3)在函数执行到最后先析构temp局部变量。
(4)等test()执行完后再析构掉p对象。
3) 一个对象用于给另外一个对象进行初始化(常称为赋值初始化)
Tstudent p("李四",90,90);Tstudent B = p;
0 0
- 一步一步学习C++(类)之拷贝构造函数
- 一步一步学习C++(类)之构造函数与析构函数
- 一步一步学习C++(类)之多态性与虚函数
- 一步一步学习C++(类)之成员函数的特性
- 一步一步学习C++(类)之友元函数
- 拷贝构造函数(C++)
- 拷贝构造函数(C++)
- c++(拷贝构造函数)
- C++学习之拷贝构造函数(深拷贝,浅拷贝)
- C++学习之(一)--拷贝构造函数
- C++学习之拷贝构造函数篇
- C++之拷贝构造函数学习笔记
- 从零开始学习c++之拷贝构造函数
- 【C++】拷贝构造函数
- C++:拷贝构造函数
- c++"拷贝构造函数
- C++: 拷贝构造函数
- 【C++】拷贝构造函数
- 数据挖掘回顾四:分类算法之 logistic回归 算法
- 【计算机视觉】提取视频中的前景物体
- Windows DIB文件操作详解-3.DDB转DIB
- Qt中 实现自定义模型(Implementing Custom Models)
- Dive into Category
- 一步一步学习C++(类)之拷贝构造函数
- html中常见字符实体
- 33. PHP 错误控制运算符
- jsp主要知识点
- 相机标定之OpenCV&Matlab
- 大数的中位数问题
- Jenkins知识地图
- 正则表达式30分钟入门教程
- 九度oj-1123-采药