动态存储分配及深复制 —字符串的复制2

来源:互联网 发布:shell curl post json 编辑:程序博客网 时间:2024/06/05 02:12
/* *Copyright (c) 2016  烟台大学计控学院 *All rights reserved. *文件名称:test.cpp *作    者:史红浩 *完成日期:2016年 5 月 25 日 *版 本 号:v1.0*/#include<iostream>#include<cstring>using namespace std;class A{private:   char *s;public:   A(char *aa)    {        s = new char[strlen(aa)+1];        strcpy(s,aa);    }    A(A &b)//显式定义复制构造函数    {        s = new char[strlen(b.s)+1]; //调用复制构造函数时再次开辟一处新的空间        strcpy(s,b.s);    }    ~A()    {        delete []s; //释放掉开辟的空间    }    void output()    {        cout<<s<<endl;    }};int main(){    A a("good morning, code monkeys!");    a.output();    A b(a);    b.output();    return 0;}

运行结果:


0 0
原创粉丝点击