第九周项目一(2)-深复制体验
2016-05-24 22:29
274 查看
问题及代码:
运行结果:
知识点总结:
深复制。
/* *烟台大学计算机学院 *文件名称:xiangmu1(2).cpp *作 者:闫安 *完成日期:2016年5月8日 *版 本 号:codeblocks 16.01 * *问题描述:在(1)的基础,为类A增加复制构造函数 *输入描述:无 *程序输出:任务的各种状态 */ #include<iostream> #include<cstring> using namespace std; class A { private: char *a; public: A(char *aa) { a=new char[strlen(aa)+1]; //(a)这样处理的意义在于:不浪费内存空间,节省许多系统单元 strcpy(a,aa); //(b)数据成员a与形式参数aa的关系:a与aa同为指针数组,系统分配的内存空间相同 } A(const A &aaa) { a=new char[strlen(aaa.a)+1]; strcpy(a,aaa.a); } ~A() { delete []a; //(c)这样处理的意义在于:释放指针所指向的内存空间,否则会导致动态分配的内存无法回收,使得程序所占的内存越来越大 } void output() { cout<<a<<endl; } }; int main() { A a("good morning,code monkeys!"); a.output(); A b(a); b.output(); return 0; }
运行结果:
知识点总结:
深复制。
相关文章推荐
- C++课堂实验6
- c++中读取文件最快的方法
- 同余方程组,中国剩余定理,孙子定理(学习)
- Java之------多线程(从基础到加强及交互线程)
- zlib.h的安装
- 5 SQL语句之DDL
- 栈的实现
- 解析稍微复杂一点的数据
- 指针应用
- LVS基础及LVS+Keepalived实现双主高可用负载均衡
- Foundation => Objective-C - NSArray & NSMutableArray
- python读取串口、网络编程、文本处理与文件操作
- 【游戏】金融帝国实验室Capitalism Lab 3.4.16汉化破解版包含子公司dlc和市长模式DLC整合包
- Matika版OpenStack伪生产环境部署-Compute
- python读文件
- 还原sqlserver数据库出现的问题
- DTS和PTS的解释(FFMPEG、HLS相关)
- mapreduce查看当前运行程序
- C++内存泄露和内存管理
- Win7 和 MAC 系统通过VMware共享文件夹(简单又好用,几乎什么都不用设置)