第九周项目一-深复制体验(1)
2016-04-24 11:14
197 查看
/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年4月24日 *版 本 号:v1.0 * *问题描述:阅读程序,补足未完成的注释 *输入描述: *程序输出: */ #include<iostream> #include<cstring> using namespace std; class A { private: char *a; public: A(char *aa) { a = new char[strlen(aa)+1]; //这样处理的意义在于可以节省了许多系统单元,不会浪费内存空间。 strcpy(a, aa); //数据成员a与形式参数aa的关系是a与aa同为指针数组,系统分配的内存空间相同 } A(A &b) { a=new char[strlen(b.a)+1]; strcpy(a,b.a); } ~A() { delete []a; //这样处理的意义在于可以释放指针所指向的内存空间,否则会导致动态分配的内存 // 无法回收,使得程序所占的内存越来越大 } void output() { cout<<a<<endl; } }; int main(){ A a("good morning, code monkeys!"); a.output(); A b(a); b.output(); return 0; } 运行结果:
相关文章推荐
- struts2的工作流程
- 【BZOJ-3667】Rabin_Miller算法 随机化判素数
- Mysql:常用代码
- poj3580supermemo【splay】
- 双击退出整个程序,以及双击退出本Activity
- 自考总结
- 5、Jenkins Email Extension Plugin插件使用说明
- Android控件之View的事件分发机制探索
- LeetCode——050
- Javascript面向对象编程(二):构造函数的继承
- 直接插入排序
- Error:Execution failed for task ':app:mergeDebugResources'. > Crunching Cruncher bg_btn.9.png
- motto11
- 数据挖掘数据集下载资源
- Javascript 面向对象编程(一):封装
- 继续Node爬虫 — 百行代码自制自动AC机器人日解千题攻占HDOJ
- 栈的运用-四则运算表达式求值
- java基础(九),File
- 常用纽扣电池的型号对照表
- word技巧