深、浅拷贝构造函数
来源:互联网 发布:快速移动文件软件 编辑:程序博客网 时间:2024/06/04 18:55
#include<iostream>using namespace std;class Array{public://构造函数Array(int sz):_sz(sz), _ptr(new int[_sz]){cout << "Array" << endl;}////浅拷贝构造函数 //类成员变量有动态开辟,然后p1._str和p2._str指向同一段空间//Array(const Array& cp) //调用两次析构函数,就会把_ptr里的空间重复释放,所以这里使用普通的拷贝方法行不通//{//_sz = cp._sz;//_ptr = cp._ptr;//}//深拷贝构造函数Array(const Array& cp) //必须使用这种方法进行拷贝,给this->_ptr动态开辟一段空间,在给其赋值:_sz(cp._sz) //这样分布调用两次析构函数时,p1和p2各释放各的一段空间, _ptr(new int[_sz]){cout << "Array(const Array& cp)" << endl;}~Array(){if (_ptr != NULL){delete[] _ptr;}cout << "~Array" << endl;}private:int _sz;int *_ptr;};int main(){Array p1(5);Array p2(p1);return 0;}
0 0
- 拷贝构造函数 深拷贝 浅拷贝
- 拷贝构造函数(深拷贝,浅拷贝)
- 拷贝构造函数浅拷贝深拷贝
- 拷贝构造函数,浅拷贝,深拷贝
- 拷贝构造函数 深拷贝 浅拷贝
- 拷贝构造函数----深拷贝、浅拷贝
- 深拷贝、浅拷贝构造函数问题
- 深拷贝、浅拷贝构造函数
- 复制构造函数&深拷贝&浅拷贝
- 拷贝构造函数与赋值函数;深拷贝,浅拷贝
- 深、浅拷贝构造函数
- 拷贝构造函数:默认拷贝(浅拷贝)、深拷贝构造函数
- 拷贝构造函数:默认拷贝(浅拷贝)、深拷贝构造函数
- C++拷贝构造函数(包括默认拷贝构造函数以及深拷贝、浅拷贝)
- 默认拷贝构造函数,浅拷贝,深拷贝
- C++拷贝构造函数(深拷贝,浅拷贝)
- C++拷贝构造函数(深拷贝,浅拷贝)
- C++拷贝构造函数(深拷贝,浅拷贝)
- c++第2次上机-实验报告
- Git学习(三)远程仓库版本回退方法
- Fatal Error: ezSQL_mysql requires mySQL Lib to be compiled and or linked in to the PHP engine
- hadoop学习笔记之flume
- 安卓系统中默认值
- 深、浅拷贝构造函数
- Android接入微信登录出现-6错误
- 为啥有的app 3dtouch home屏有分享,有的app木有
- springmvc/mybatis/maven环境配置1
- 数据结构-06 图
- CentOS/Ubuntu一键安装IPSEC/IKEV2 VPN服务器
- False coin
- c++开篇——自引用指针this
- Spring Data JPA 如何使用EclipseLink