第九周项目1-深复制体验(2)
2016-04-27 18:09
387 查看
问题及代码:
删除后出现的问题:
无法运行
因为没有给*aa动态分配空间,*aa为一个野指针
字符串的时候应该在原来的长度上加1,因为在字符结束的时候还有一个'\0',字符串结束符也占用一个长度,如果不是字符那就没必要了;
/* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:zwj.cpp *作 者:张晴晴 *完成日期:2016年4月27日 *版 本 号: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); //(b)数据成员a与形式参数aa的关系:__把aa中的字符复制到a中。_________________________________ } ~A() { delete []a; //(c)这样处理的意义在于: 删除a这个对象数组。 ___________________________________________ } void output() { cout<<a<<endl; } }; int main(){ A a("good morning, code monkeys!"); a.output(); A b("good afternoon, codes!"); b.output(); return 0; }
删除后出现的问题:
无法运行
因为没有给*aa动态分配空间,*aa为一个野指针
字符串的时候应该在原来的长度上加1,因为在字符结束的时候还有一个'\0',字符串结束符也占用一个长度,如果不是字符那就没必要了;
相关文章推荐
- pajek的net文件格式
- NOIP2010提高组 关押罪犯 (并查集入门)
- 随机访问文件的读取和写入对象:RandomAccessFileDemo
- 剑指offer之面试题25:二叉树中和为某一值的路径
- 【NOIP2015】运输计划 差分数组+线段树+树链剖分
- jquery 之validate 笔记(转载)
- 在用UEditor往后台传数据写入数据库时,出现错误:从客户端(NewsContent="<p><img src="http://...")中检测到有潜在危险的 Request.。。。
- 推箱子(2):客户区和窗口的计算
- 自定义控件 TextView 歌词 Lrc
- Action三种实现方式及各自特点
- 推荐给开发者的11个PHP框架
- Guice:轻量级IOC/DI 容器
- zoj3715 Kindergarten Election 【枚举+贪心】
- JavaScript 最佳实践
- JavaScript 事件
- Android Button及TextView动态变换颜色
- 【排序算法】简单选择排序(java实现)
- java的自动装箱和自动拆箱
- java中接口与抽象类的区别
- SDK和API的区别?