第六周项目1.2 深复制体验
2015-04-10 12:59
204 查看
/* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:score.cpp *作 者:惠睿 *完成日期:2015年4月10日 *版 本 号: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() { delete []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; }
问题及答案:若将注释 (a) 所在的那一行去掉,程序不会出错,但有 warning ,而且程序不能运行,原因:没有对 a 进行定义,没有给其赋长度。
a 数据成员所占用的存储空间要在 aa 基础上加 1 ,原因:还要给 0 字符分配存储空间 。
指针 a 不是指向字符,没有必要加 1 ,原因:和以前做动态数组的原因一样 。
相关文章推荐
- 第六周项目一 深复制体验 (1.2)
- 第六周——项目一深复制体验(三)
- 第六周 项目一-深复制体验(1)
- 第六周 项目一-深复制体验(2)
- 第六周 项目一--深复制体验(1)
- 第六周上机实践项目1——深复制体验(3)
- 第六周项目一(2):深复制体验
- 第六周 【项目1-深复制体验】
- 第六周 项目一-深复制体验(3)
- 第六周项目一--深复制体验
- 第六周项目1-深复制体验(3-复制构造函数)
- 第六周 项目一(2):深复制体验
- 第六周项目一深复制体验(3)
- 第六周上机实践项目1——深复制体验(1)
- 第六周——项目一深复制体验(二)
- 第六周 项目一(3):深复制体验
- 第六周项目一:-深复制体验
- 第六周项目一:深复制体验(二)
- 第六周 项目1-深复制体验(1)
- 第六周上机实践项目1——深复制体验(2)