项目一(1)深复制体验

来源:互联网 发布:订房软件 编辑:程序博客网 时间:2024/05/16 08:09

程序:

//存在指针类型的数据成员,需要能完成深复制的构造函数。//深复制体验#include<iostream>#include<cstring>using namespace std;class A{private:    char *a;public:    A(char *aa)    {        a = new char[strlen(aa)+1];  //(1)这样处理的意义在于:保存字符串中的"\0"        strcpy(a,aa);  //(2)数据成员a与形式参数aa的关系:复制与被复制    }    ~A()    {        delete []a;   //(3)这样处理的意义在于: 释放空间    }    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的数据弄没了。。。自己的见解罢了,还需深体会啊

0 0