第9周-项目1-深复制体验(1)

来源:互联网 发布:淘宝网内部优惠券 编辑:程序博客网 时间:2024/06/05 04:36

问题及代码:

/*Copyright (c)2016,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:main.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];//(a)这样处理的意义在于:aa中最后一个字符是"/0"结尾,所以计算aa的长度的时候少一个长度,所以加1        strcpy(a, aa);  //(b)数据成员a与形式参数aa的关系:把aa中的内容复制给a。    }    ~A()     {        delete []a;   //(c)这样处理的意义在于:  __释放由new建立的对象,释放指针所指向的内存空间    }    void output() { cout<<a<<endl; }};int main(){    A a("good morning, code monkeys!");    a.output();    A b("good afternoon, codes!");    b.output();    return 0;}

运行结果:


0 0
原创粉丝点击